• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Symfony2 workshop-1

  • 2,208 views
Published

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

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

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,208
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
27
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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