メモ。
先頭にパイプ(|)を挿入すると複数行に渡る改行が保たれるようになる。
| \/ /| |\/| | / / | | | |__ .
先頭に大なり(>)を宣言すると複数行のセンテンスがサポートされるが、改行はスペースに置き換えられて認識される。
> すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章 すんごい長い文章
※上記の例にある行頭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 );
}
まぁどこで使うのって感じだけれども。