Symfony2
1. Symfony2 standardディストリビューション(確認時はPR11)をダウンロード 2. /app_dev.php/demo/ にアクセス→正常表示 3. src/Acme/DemoBundle/Controller/DefaultController.phpのindexAction()のreturnの前に以下の1行を追加 $this->container->get('r…
自分でも毎回分からなくなるのでメモ・・・。 Actionでは、レスポンスにsetSharedMaxAge()とsetPublic()をセット render('HelloBundle:Hello:index.html.twig', array('rand'=>rand())); $response->setSharedMaxAge('10'); $response->setPublic(); return …
Symfony2のオンラインドキュメントはSphinxを使っています。 Sphinxは高機能なドキュメントシステムで、コードのハイライト機能などはデフォルトのままでとても優秀です。1つ、Symfony2のドキュメントで独自に拡張機能を使っている部分があり、それがタイト…
参加というか、言いだしっぺなので主催側ですが・・・。公式なレポートは以下をご参照ください。 http://www.symfony.gr.jp/blog/20111121-symfony2-workshop-1 以下はレポートにない、2次会以降の話と余談などを。 2次会、2.5次会、midnightも盛り上がりま…
Symfony2で名前的に混乱しやすそうなのがKernelとHttpKernelで、 Kernelはアプリケーション全体のベースとなる HttpKernelは1つのHTTPリクエストのベースとなる という感じで、Kernelの方がベースよりです。これは説明するまでもないかもしれませんが、フロ…
Symfony2のconfigファイルでは、別のconfigファイルをインポートすることができます。 たとえばconfig_dev.ymlでは、共通設定であるconfig.ymlを以下のようにインポートしています。 imports: - { resource: config.yml } また、config_dev.ymlをよく見ると…
app/config/config_dev.ymlに次のように記述すると、リンクになります。 app.config: ide: macvim「macvim」だと「mvim://open〜」というURLでリンクされ、「textmate」だと「txmt://open〜」というURLになります。他の値を指定した場合、その値がファイルリ…
symfony 1では、ORM Designerを使ってスキーマ設計→schema.yml書き出し→モデルやDBを生成(必要に応じてマイグレーション)というワークフローでした。こういったワークフローをDoctrine2を使った開発でもやりたいと思い、Doctrine2のコマンド等とあれこれ格…
Symfony2でテンプレートをレンダリングする場合、以下のようにやや長い名前でテンプレートを指定します。 $this->render('HelloBundle:Hello:index.twig');この指定はコロンで区切られた3つのパーツで構成されていて、 テンプレートのあるバンドルの名前 テ…
まず、DIエクステンションについては以下の記事を参照 Symfony2のDIエクステンション - しんふぉにゃん このDIエクステンションですが、Symfony2コアの各バンドルごとのDIエクステンション自体を拡張するうまいやり方は今のところ分かっていないのですが、コ…
routing.ymlでresource指定にて各バンドルのrouting.ymlをインポートしている場合、そこは独自に処理されてUrlMatcherとして展開されるので、コントローラーの呼び出しまでは実行されるようです。 しかし、コントローラーから通常の方法でビューをレンダリン…
(まだきちんと全容をつかめていないのですが)Symfony2のDI+バンドルのシステムには「エクステンション」という機構があって、DIコンテナから得られる設定を使ってバンドルの初期化などを行えます。これは、各バンドル内の「DependencyInjection」というデ…
DIコンテナを使っているのに、キャッシュディレクトリへの書き出しはそれぞれのコンポーネントが別々に直接ファイルを書き出しているのは何とかしたいなと思いつつ・・・。(Symfony Componentsのコンポーネントで、DIコンテナがなくても動作するように設計…
$ php app/console init:bundle (名前空間) # 例 $ php app/console init:bundle Application\\HelloBundle $ php app/console init:bundle Bundle\\TestBundle init:bundleの後ろのパラメーターは名前空間。名前空間に対応するディレクトリにバンドルの雛…
PHP MatsuriでKrisのワークショップ中に気になった「doctrine:schema:update」ですが、Doctrine2のマニュアルを読んだら以下のように書いてありました。http://www.doctrine-project.org/projects/orm/2.0/docs/reference/tools/en#database-schema-generati…
自分用メモ doctrine系 ネームスペース コマンド 内容 クラス doctrine:database doctrine:database:create configで設定したデータベースを作成する doctrine:database:drop データベースをDROPする doctrine:schema doctrine:schema:create エンティティの…
symfony 1.xでシステムを開発する場合、結構手放せないのがタスクの仕組みです。組み込みのコマンドはもちろん、バッチ処理から、ちょっとしたヘルパータスクなど、私はシステムを開発する上で結構使っています。このタスクシステム、Symfony2ではどうなって…
参考: Fivestarさんの Symfony2のいいところ - ゆっくり*ゆっくり OSC Nagoya、Tokyo/FallでSymfonyユーザー会枠のセミナーの一部を担当する予定ですが、そこでSymfony2の紹介をやろうと思い、プレビューリリース2のキャッシュ機能を試しています。ただ、ま…