入力値に対してメールアドレス形式か、URL形式かなどを判定してくれる。
例。
filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);
他にも豊富にフィルターが用意されている。詳細は下記URL参照。
http://www.php.net/manual/ja/filter.filters.php
入力値に対してメールアドレス形式か、URL形式かなどを判定してくれる。
例。
filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);
他にも豊富にフィルターが用意されている。詳細は下記URL参照。
http://www.php.net/manual/ja/filter.filters.php
$methods = get_class_methods('myclass');
// or
$methods = get_class_methods(new myclass());
クラス名かクラスのインスタンスを渡せばOK。
例えば引数に名前が必要なURIに名前無しでアクセスさせたい場合。
hello_world:
pattern: /hello/{name}
defaults: { _controller: HogeBundle:Fuga:hello }
requirements:
name: ".+"
requirementsでnameのパターンを上記の様に指定してやればOK。
userBundleを使っていたところ、ある時期を堺にどうやってもログイン後に「/_wdt/…」にリダイレクトされてしまうようになった。
が、この方法で解決。
security.ymlに下記を定義する。
firewalls:
secured_area:
form_login:
always_use_default_target_path: true
default_target_path: /loggedinpage
「loggedinpage」の部分にログイン後のリダイレクトページを設定すればOK。
やり方メモ。
services:
my_service_request:
class: Symfony\Component\HttpFoundation\Request
my_service_response:
class: Symfony\Component\HttpFoundation\Response
my.listener.before.filter:
class: Hoge\FugaBundle\EventListener\ControllerListener
arguments: ['@service_container', '@my_service_request']
tags:
- { name: kernel.event_listener, event: kernel.request, method: piyo }
的な感じ。
色々あって便利。
例えばログインページで実行すると。
var_dump($request->getBasePath());
var_dump($request->getBaseUrl());
var_dump($request->getRequestUri());
var_dump($request->getUri());
var_dump($request->getUriForPath('/'));
string(0) "" string(12) "/app_dev.php" string(18) "/app_dev.php/login" string(39) "http://example.com/app_dev.php/login" string(34) "http://example.com/app_dev.php/"
的な感じで取得出来る。
メモ。
$request = $this->container->get('request');
わかりやすい文献が公式にあったのでメモ。
http://symfony.com/doc/current/components/http_kernel/introduction.html
イベントの流れがとても把握しやすい。