メモ。
先頭にパイプ(|)を挿入すると複数行に渡る改行が保たれるようになる。
| \/ /| |\/| | / / | | | |__ .
先頭に大なり(>)を宣言すると複数行のセンテンスがサポートされるが、改行はスペースに置き換えられて認識される。
> すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章
※上記の例にある行頭2マスの半角スペースは出力結果には含まれないので注意。
メモ。
先頭にパイプ(|)を挿入すると複数行に渡る改行が保たれるようになる。
| \/ /| |\/| | / / | | | |__ .
先頭に大なり(>)を宣言すると複数行のセンテンスがサポートされるが、改行はスペースに置き換えられて認識される。
> すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章
※上記の例にある行頭2マスの半角スペースは出力結果には含まれないので注意。
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
イベントの流れがとても把握しやすい。
現時点までに発見したもののメモ。(2014-06-09現在)
services: my.listener.before.filter: class: Hoge\FugaBundle\EventListener\ControllerListener arguments: ['@service_container'] tags: - { name: kernel.event_listener, event: kernel.controller, method: piyo } - { name: kernel.event_listener, event: kernel.request, method: piyo } - { name: kernel.event_listener, event: kernel.response, method: piyo } - { name: kernel.event_listener, event: kernel.terminate, method: piyo } my.listener.pre.update: class: Hoge\FugaBundle\EventListener\EntityListener arguments: ['@service_container'] tags: - { name: doctrine.event_listener, event: preUpdate } my.listener.pre.persist: class: Hoge\FugaBundle\EventListener\EntityListener arguments: ['@service_container'] tags: - { name: doctrine.event_listener, event: prePersist }
随時更新。
定義通りに書くととんでもない事になるいつものアレ。
「C言語による最新アルゴリズム事典」より究極の実装方法をペタリ。
function fib($n){ return floor( pow((1+sqrt(5))/2, $n) / sqrt(5) + 1/2 ); }
まぁどこで使うのって感じだけれども。