Your SlideShare is downloading. ×
0
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Symfony2 workshop-1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Symfony2 workshop-1

2,256

Published on

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

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

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

No Downloads
Views
Total Views
2,256
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
28
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 Symfony2 ワークショップ #1 日本Symfonyユーザー会 後藤 秀宣(@hidenorigoto)
  • 2. Symfony2ワークショップ#1 ワークショップの内容 ● サンドボックスを動かす ● Symfony2のディレクトリやファイルの構成 それぞれの役割概観 ● アクションやビューを作ってみる ● Twigを使ってみる
  • 3. Symfony2ワークショップ#1   ● 参考ドキュメントURL http://docs.symfony-reloaded.org/master/ http://www.twig-project.org/ ドキュメントのURLは要注意です
  • 4. Symfony2ワークショップ#1 ではさっそく始めましょう! 準備OK?
  • 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. Symfony2ワークショップ#1 ディレクトリやファイル(10分) ● web ● app ● src
  • 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. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php
  • 9. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php testAction render()
  • 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. Symfony2ワークショップ#1 テンプレートの継承(PHP) app/views/ - src/Application/HelloBundle/Resources/ views/ - Hello/ - - layout.php layout.php index.php test.php _contentスロット _contentスロット testAction render() レンダリング結果
  • 12. Symfony2ワークショップ#1 ビューでのヘルパーいろいろ(5分) ● ビュー内で $view 変数経由  → echo get_class($this)  → echo get_class($view) 共通メニュー用のビューを作って埋め込む  →Resources/views/menu.php
  • 13. Symfony2ワークショップ#1 (共通メニューを埋め込む) ● Resources/views/layout.php $view->render() で埋め込む symfony 1の「パーシャル」相当の機能
  • 14. Symfony2ワークショップ#1 他のヘルパー(10分) ● スロット(スロットヘルパー) app/views/layout.php ● 【スロットへの値の設定】 $view['slots']->start('title') $view['slots']->end()
  • 15. Symfony2ワークショップ#1 actionsヘルパー ● テンプレートに特定のアクションのレンダリング結果を埋 め込む symfony 1の「コンポーネント」相当の機能
  • 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. Symfony2ワークショップ#1 Twigを使う(10分) ● 設定の有効化  app/config/config.ymlでコメントを解除  app/AppKernel.phpでバンドルのコメントを解除 ● アクションのレンダリング部分で拡張子を変更
  • 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. Symfony2ワークショップ#1 続きは・・・ ● 2次会や、Symfony Midnightで!  もしくは各自で復習してください! ● 分からないことは、Symfonyユーザー会MLへ  もしくはtwitter #symfony_jaへ

×