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

Symfony2 workshop-1

2,607 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,607
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へ

×