読者です 読者をやめる 読者になる 読者になる

Symfony2で動的値を自動でテンプレートにアサインする

タイトルの通り、サイトを作っているうえで動的値をテンプレートに自動的にアサインしたい事って結構あるんですよね。 例えば、ログイン機能がついているサイトではログイン中のユーザー情報とか。Symfony2の場合、Controllerで毎回ログインしているユーザー…

Symfony2.1によるmonologの設定

あるアプリケーションをSymfony2.0系からSymfony2.1に移行していた時にmonologの設定で少しはまったので備忘録を。 Symfony2.0系では下記のようなmonologの設定をしていて、正常にdebug以上はログに記述し、error以上のログはメールで受け取れていた。 monol…

Doctrine2.3がすごくよくなってる

Symfony2.1を使っていて感動した! Symfony2.0系ではformでEntityを利用した場合、同じform内に同一のEntityがあった場合でもデータは別途取得される仕様だった。 add('product1', 'entity', [ 'class' => 'Acme\\DemoBundle\\Entity\\Product', ]) ->add('p…

Twigでエンティティオブジェクトにアクセスする際の注意点

Twigテンプレート内でエンティティオブジェクトにアクセスする際にforで回しながら処理したかったんですが、エラーが出て見事に少しハマった。 下記のようにtypesに入っている値を利用して、エンティティオブジェクトにアクセスするとエラーが出る。 {% for …

SwiftMailerでRFC違反のメールアドレスでもメールを送信したい

Symfony2の標準メールライブラリはSwift_Mailerが使われている。メール送信を試していたが、どうも送信前にメールアドレスのチェックを行うらしくRFC違反しているメールアドレスだと例外が投げられて送れない…例外が投げられる部分は下記の箇所vendor/swiftm…

Symfony2でTwigを文字列から読み込みたい

昼間にTwigローダーを処理中に変更し、文字列をTwigに渡してリソースを生成する方法を書いたけど、 単純なテンプレート機能として使うのであれば全然問題ないが、form_widgetとか使う場合だと昼間の方法だと無理だった。とりあえず文字列ベースのTwigLoader…

Symfony2のコントローラ内でTwigローダーを変更する

コントローラでの処理中にファイルからではなく文字列からTwigに渡してレスポンスを生成したかった。 普通にTwig_Environmentを生成してやれば簡単に出来たんだけど、assetsとか使いたくてExtensionも引き継ぎたかったので途中で変更する方法を取った。こん…

Symfony2のエラーページをカスタマイズしてみる

Symfony2でエラーページをカスタマイズしたかったのでやり方を調べてみた。エラーページのカスタマイズ方法 | Symfony2日本語ドキュメントエラーページをカスタマイズするには下記の2種類の方法があるみたい。 エラーテンプレートのカスタマイズ 例外処理の…

Symfony2でform名を指定する方法

Symfony2でEntityに依存しない同一のformを複数発行したくて、form名を動的に変更する方法を調べてみたので忘れないうちのメモっとく。 結果的にはcreateNameBuilderを通してFormBuilderを発行してあげればいけた。 for ($i = 1;$i <= 3;$i++) { $builder = …

Symfony2のDateTypeのバグ対策

※追記 (2012/02/29 20:40) というかそもそも、下記を実装した後に気づいたんですが、date_patternをオーバーライドするフォームテーマなんて作成しないでも直接オーバーライド出来るんじゃないか?と思って試してみたら出来ました。特にテンプレートとか作ら…

パラメータの取得方法

忘れそうなのでメモ。 parameters.iniで設定されたパラメータ値を取得するにはコンテナのgetParameterメソッドを呼び出せば取れる。 $this->container->getParameter('parameter_name');

Symfony2でEntityの更新前に処理を挟んでみる

よくある登録日時や更新日時は毎回書くのは面倒臭いので、自動で入れたかったりしますね。 Symfony2でもやりたかったので調べて見た。下記の方法を用いれば出来るっぽい。 ライフサイクルコールバックを使う イベントリスナーを使う ライフサイクルコールバ…

Symfony2について

Symfony2ってどんなフレームワークなの?って聞かれたので答えてみる。あ、最初に書いておきますが、これはあくまで自分の主観です。 自分もSymfony2のコアな部分のコードはそんなに読んでいないので、Symfony2を学習するうえで思ったことです。 ここは違う…

Symfony2で複雑なフォームの実装について

Symfony2で少し複雑なフォームを作る際のメモ書き。例として1つの商品は複数のカテゴリに属する。 要件としては管理画面の商品の設定画面にて、複数のカテゴリを設定することとする。 更に設定したカテゴリにはついでに何かメモ書きを設定出来ることとする。…

Symfony2のバリデーションについて

アプリケーションを開発していくうえでカスタムバリデーションを作るまでもないけど、 独自のバリデーションを追加したかったり、動的にバリデーションを行いたいことがよくある。 Symfony2ではどのように行うのかメモっておく。例えばお問い合わせフォーム…