入力値に対してメールアドレス形式か、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
イベントの流れがとても把握しやすい。