Symfony2 workshop-1

2,557 views
2,466 views

Published on

日本Symfonyユーザー会 第1回Symfony2勉強会 Symfony2基礎編

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,557
On SlideShare
0
From Embeds
0
Number of Embeds
476
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Symfony2 workshop-1

  1. 1. Symfony2ワークショップ#1 Symfony2 ワークショップ #1 日本Symfonyユーザー会 後藤 秀宣(@hidenorigoto)
  2. 2. Symfony2ワークショップ#1 ワークショップの内容 ● サンドボックスを動かす ● Symfony2のディレクトリやファイルの構成 それぞれの役割概観 ● アクションやビューを作ってみる ● Twigを使ってみる
  3. 3. Symfony2ワークショップ#1   ● 参考ドキュメントURL http://docs.symfony-reloaded.org/master/ http://www.twig-project.org/ ドキュメントのURLは要注意です
  4. 4. Symfony2ワークショップ#1 ではさっそく始めましょう! 準備OK?
  5. 5. Symfony2ワークショップ#1 サンドボックス環境の準備(10分) ● git://github.com/symfony/symfony-sandbox.git ● Git環境がない方 →~~~~ ● USBメモリでも配布しています ● http://localhost/symfony- sandbox/web/app_dev.php/hello/fabien ● $ php app/console 動いた方は、プロファイラーやエラーページを見てみてください
  6. 6. Symfony2ワークショップ#1 ディレクトリやファイル(10分) ● web ● app ● src
  7. 7. Symfony2ワークショップ#1 アクションやテンプレート(5分) ● HelloControllerにtestActionを追加 →src/Appliction/HelloBundle/Controller HelloController.php ● テンプレートファイルを追加 →src/Appliction/HelloBundle/Resources/views /Hello/test.php ● ルートの追加 →src/Appliction/HelloBundle/Resources/config routing.yml          ↓ http://localhost/symfony- sandbox/web/app_dev.php/hello/test
  8. 8. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php
  9. 9. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php testAction render()
  10. 10. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php _contentスロット _contentスロット testAction render()
  11. 11. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php _contentスロット _contentスロット testAction render() レンダリング結果
  12. 12. Symfony2ワークショップ#1 ビューでのヘルパーいろいろ(5分) ● ビュー内で $view 変数経由  → echo get_class($this)  → echo get_class($view) 共通メニュー用のビューを作って埋め込む  →Resources/views/menu.php
  13. 13. Symfony2ワークショップ#1 (共通メニューを埋め込む) ● Resources/views/layout.php $view->render() で埋め込む symfony 1の「パーシャル」相当の機能
  14. 14. Symfony2ワークショップ#1 他のヘルパー(10分) ● スロット(スロットヘルパー) app/views/layout.php ● 【スロットへの値の設定】 $view['slots']->start('title') $view['slots']->end()
  15. 15. Symfony2ワークショップ#1 actionsヘルパー ● テンプレートに特定のアクションのレンダリング結果を埋 め込む symfony 1の「コンポーネント」相当の機能
  16. 16. Symfony2ワークショップ#1 ヘルパーの実体はどこにある?(10分) ● src/vendor/symfony/src/symfony/ Bundle/FrameworkBundle Resources/config/templating.xml Templating/Helper ActionsHelper.php : Component Templating/Helper AssetsHelper.php :
  17. 17. Symfony2ワークショップ#1 Twigを使う(10分) ● 設定の有効化  app/config/config.ymlでコメントを解除  app/AppKernel.phpでバンドルのコメントを解除 ● アクションのレンダリング部分で拡張子を変更
  18. 18. Symfony2ワークショップ#1 Twigの機能いろいろ ● {% include "HelloBundle::menu.php" %} {% render "HelloBundle:Hello:test" %} {% block title %}タイトルだよ{% endblock %} {% if users %} <ul> {% for user in users %} <li>{{ user.username }}</li> {% endfor %} </ul> {% endif %}
  19. 19. Symfony2ワークショップ#1 続きは・・・ ● 2次会や、Symfony Midnightで!  もしくは各自で復習してください! ● 分からないことは、Symfonyユーザー会MLへ  もしくはtwitter #symfony_jaへ

×