Suche senden
Hochladen
第4回Symfony2勉強会 基礎編ワークショップ.1
•
Als PPTX, PDF herunterladen
•
5 gefällt mir
•
7,610 views
Yusuke Ueno
Folgen
第4回Symfony2勉強会 基礎編ワークショップで使用したスライドです。Symfony2のTwigを使うためのステップです。
Weniger lesen
Mehr lesen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 29
Jetzt herunterladen
Empfohlen
Effective Modern C++ Item 7&8
Effective Modern C++ Item 7&8
明 高橋
インタフェースの実装パターン
インタフェースの実装パターン
Takuya Ueda
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
マスター・オブ・Reflectパッケージ
マスター・オブ・Reflectパッケージ
Takuya Ueda
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
マスター・オブ・reflectパッケージ II
マスター・オブ・reflectパッケージ II
Takuya Ueda
Emcpp0506
Emcpp0506
Takatoshi Kondo
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
Takashi Hoshino
Empfohlen
Effective Modern C++ Item 7&8
Effective Modern C++ Item 7&8
明 高橋
インタフェースの実装パターン
インタフェースの実装パターン
Takuya Ueda
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
マスター・オブ・Reflectパッケージ
マスター・オブ・Reflectパッケージ
Takuya Ueda
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
マスター・オブ・reflectパッケージ II
マスター・オブ・reflectパッケージ II
Takuya Ueda
Emcpp0506
Emcpp0506
Takatoshi Kondo
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
Takashi Hoshino
エキスパートGo
エキスパートGo
Takuya Ueda
君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない
digitalghost
静的型付け言語Python
静的型付け言語Python
kiki utagawa
templateとautoの型推論
templateとautoの型推論
MITSUNARI Shigeo
More C++11
More C++11
京大 マイコンクラブ
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Shintarou Okada
C++11
C++11
京大 マイコンクラブ
C# 8.0 null許容参照型
C# 8.0 null許容参照型
信之 岩永
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
Fujio Kojima
メタプログラミングRubyはこの付録が美味しい
メタプログラミングRubyはこの付録が美味しい
Shigeru UCHIYAMA
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
Define and expansion of cpp macro
Define and expansion of cpp macro
digitalghost
C++ Template Metaprogramming
C++ Template Metaprogramming
Akira Takahashi
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
Yusuke Ueno
Symfony2のフォームフレームワーク
Symfony2のフォームフレームワーク
Katsuhiro Ogawa
Symfony2 Behat/BDD (#Symfony2study 4)
Symfony2 Behat/BDD (#Symfony2study 4)
Hidenori Goto
Silex 入門
Silex 入門
Masao Maeda
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
Twigエクステンションの作り方
Twigエクステンションの作り方
Katsuhiro Ogawa
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
VOYAGE GROUP
Weitere ähnliche Inhalte
Was ist angesagt?
エキスパートGo
エキスパートGo
Takuya Ueda
君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない
digitalghost
静的型付け言語Python
静的型付け言語Python
kiki utagawa
templateとautoの型推論
templateとautoの型推論
MITSUNARI Shigeo
More C++11
More C++11
京大 マイコンクラブ
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Shintarou Okada
C++11
C++11
京大 マイコンクラブ
C# 8.0 null許容参照型
C# 8.0 null許容参照型
信之 岩永
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
Fujio Kojima
メタプログラミングRubyはこの付録が美味しい
メタプログラミングRubyはこの付録が美味しい
Shigeru UCHIYAMA
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
Define and expansion of cpp macro
Define and expansion of cpp macro
digitalghost
C++ Template Metaprogramming
C++ Template Metaprogramming
Akira Takahashi
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
Was ist angesagt?
(15)
エキスパートGo
エキスパートGo
君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない
静的型付け言語Python
静的型付け言語Python
templateとautoの型推論
templateとautoの型推論
More C++11
More C++11
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
C++11
C++11
C# 8.0 null許容参照型
C# 8.0 null許容参照型
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
メタプログラミングRubyはこの付録が美味しい
メタプログラミングRubyはこの付録が美味しい
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Define and expansion of cpp macro
Define and expansion of cpp macro
C++ Template Metaprogramming
C++ Template Metaprogramming
Emcjp item21
Emcjp item21
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
Andere mochten auch
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
Yusuke Ueno
Symfony2のフォームフレームワーク
Symfony2のフォームフレームワーク
Katsuhiro Ogawa
Symfony2 Behat/BDD (#Symfony2study 4)
Symfony2 Behat/BDD (#Symfony2study 4)
Hidenori Goto
Silex 入門
Silex 入門
Masao Maeda
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
Twigエクステンションの作り方
Twigエクステンションの作り方
Katsuhiro Ogawa
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
VOYAGE GROUP
オレオレSecurityバンドル作っちゃいました
オレオレSecurityバンドル作っちゃいました
Katsuhiro Ogawa
Symfony勉強会#9 form
Symfony勉強会#9 form
Yuichi Okada
Andere mochten auch
(9)
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
Symfony2のフォームフレームワーク
Symfony2のフォームフレームワーク
Symfony2 Behat/BDD (#Symfony2study 4)
Symfony2 Behat/BDD (#Symfony2study 4)
Silex 入門
Silex 入門
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Twigエクステンションの作り方
Twigエクステンションの作り方
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
オレオレSecurityバンドル作っちゃいました
オレオレSecurityバンドル作っちゃいました
Symfony勉強会#9 form
Symfony勉強会#9 form
Ähnlich wie 第4回Symfony2勉強会 基礎編ワークショップ.1
Dakota+openFoam1
Dakota+openFoam1
守淑 田村
Getting Started with Graph Database with Python
Getting Started with Graph Database with Python
ロフト くん
Django 1.5 における効果的な MTV 設計 & ネイティブApp
Django 1.5 における効果的な MTV 設計 & ネイティブApp
Yikei Lu
20120118 titanium
20120118 titanium
Hiroshi Oyamada
いまさら聞けないRake入門
いまさら聞けないRake入門
Tomoya Kawanishi
TensorFlow Lite Delegateとは?
TensorFlow Lite Delegateとは?
Mr. Vengineer
研究生のためのC++ no.2
研究生のためのC++ no.2
Tomohiro Namba
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fumiya Sakai
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Yasuhiro Matsubayashi
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
cch-robo
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Netmf-180224
Netmf-180224
Atomu Hidaka
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
Computational Materials Science Initiative
dezainn
dezainn
kzhshmt
デザインパターン
デザインパターン
gaaupp
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
Clrh 20140906 lt
Clrh 20140906 lt
Tomoyuki Obi
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
Fujio Kojima
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Ähnlich wie 第4回Symfony2勉強会 基礎編ワークショップ.1
(20)
Dakota+openFoam1
Dakota+openFoam1
Getting Started with Graph Database with Python
Getting Started with Graph Database with Python
Django 1.5 における効果的な MTV 設計 & ネイティブApp
Django 1.5 における効果的な MTV 設計 & ネイティブApp
20120118 titanium
20120118 titanium
いまさら聞けないRake入門
いまさら聞けないRake入門
TensorFlow Lite Delegateとは?
TensorFlow Lite Delegateとは?
研究生のためのC++ no.2
研究生のためのC++ no.2
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Netmf-180224
Netmf-180224
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
dezainn
dezainn
デザインパターン
デザインパターン
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
Clrh 20140906 lt
Clrh 20140906 lt
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Kürzlich hochgeladen
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Kürzlich hochgeladen
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
第4回Symfony2勉強会 基礎編ワークショップ.1
1.
Symfony2勉強会#4基礎編ワークショップ.1 2011.06.04 上野裕介
2.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 2
3.
ワークショップの参考URL Creating Pages
in Symfony2 (バンドル作成方法) http://symfony.com/doc/current/book/page_creation.html Creating and using Templates (Sf2とTwigの連携) http://symfony.com/doc/current/book/templating.html Twig Documentation (Twigの基本構文とか) http://www.twig-project.org/documentation Twigと他のテンプレートエンジンの比較 http://fabien.potencier.org/article/34/templating-engines-in-php http://fabien.potencier.org/article/35/templating-engines-in-php-follow-up 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 3
4.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 4
5.
ディレクトリ構成 web src
vendor app (bin) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 5
6.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 6
7.
バンドルの作成と登録 バンドル フレームワーク
自分のプログラム 外部プラグイン バンドルの粒度 symfony 1.x と比較 frontend application … FrontendBundle blog module … BlogBundle sfWebBrowserPlugin … WebbrowserBundle 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 7
8.
バンドルの作成と登録 app/consoleコマンド init:bundleコマンド
作成されたフォルダを見てみよう 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 8 $ php app/console init:bundle “MyorkshopBundle” src
9.
バンドルの作成と登録 名前空間の登録(app/autoload.php) AppKernelへの登録(app/AppKernel.php)
2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 9 $loader->registerNamespaces(array( // ... 'My' => __DIR__.'/../src', )); public function registerBundles() { $bundles = array( // ... new MyorkshopBundleyWorkshopBundle(), ); // ... return $bundles; }
10.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 10
11.
ルーティングの登録 app/config/routing.yml src/My/WorkshopBundle/Resources/config/routing.yml
コメントアウトをはずす+名前変更 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 11 workshop: prefix: /workshop resource: “@MyWorkshopBundle/Resources/config/routing.yml” workshop_homepage: pattern:/ defaults:{ _controller:MyWorkshopBundle:Default:index } バンドル名:コントローラ名:アクション名
12.
ルーティングの登録 2011.06.04 Symfony2勉強会#4
基礎編ワークショップ 12 http://localhost/Symfony/web/app_dev.php/workshop/ 自動生成されたアクションとテンプレートがあるので、 Hello!と表示されます
13.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 13
14.
Twig構文を試す – for文
src/My/WorkshopBundle/Resources/views/Default/index.html.twig 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 14 <ul> {% for key, user in users %} <li>No.{{ key }}: {{ user.name}} </li> {% endfor%} </ul>
15.
Twig構文を試す – for文
DefaultController::indexAction() 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 15 public function indexAction() { $users = array( ‘1’ => array(‘name’=>‘鹿目まどか', 'age'=>14), ‘5’ => array(‘name’=>‘<b>めんま</b>', 'age'=>’?'), ); return $this->render('MyWorkshopBundle:Default:index.html.twig', array('users' => $users)); }
16.
Twig構文を試す {{ ...
}} 値や式の結果をテンプレートに出力するための文法 {% ... %} テンプレート内でロジックを制御するための文法 {# ... #} コメントを表すための文法 複数行にわたって使用可能 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 16
17.
Twig構文を試す - include
src/My/WorkshopBundle/Resources/views/menu.html.twig src/My/WorkshopBundle/Resources/views/Default/index.html.twig (の冒頭に追加) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 17 <ul> <li>メニュー1</li> <li>メニュー2</li> <li>メニュー3</li> </ul> {% include 'MyWorkshopBundle::menu.html.twig'%}
18.
Twig構文を試す - raw
src/My/WorkshopBundle/Resources/views/Default/index.html.twig にrawフィルタを付ける エスケープされなくなる 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 18 <li>No.{{ key }}: {{ user.name}}({{ user.age }})</li> <li>No.{{ key }}: {{ user.name|raw}}({{ user.age }})</li>
19.
Twig構文を試す - format
src/My/WorkshopBundle/Resources/views/Default/index.html.twig をformatフィルタで書き直すと printf()関数の様なもの 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 19 <li>No.{{ key }}: {{ user.name}}({{ user.age }})</li> <li>{{ "No.%d: %s(%s)"|format(key, user.name, user.age) }}</li>
20.
Twig構文を試す – その他
例だけ紹介 date … DateTime::format()のラッパー(書式はdate()) default … 空要素の初期値を指定(beta3バグあり) 「空」と判定される値は、falseまたは0以外のempty()値 if/elseif/else/endif … 条件分岐 http://www.twig-project.org/doc/templates.html 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 20 {{ “now”|date(‘Y-m-dH:i:s’) }} {{ user.createdAt|date(‘Y/m/d’) }} {{ user.birthday|default(‘----/--/--’) }} {% if users %} … {% endif%}
21.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 21
22.
Twigテンプレートの継承 app/Resources/views/ base.html.twig
src/My/WorkshopBundle/Resources/views/ layout.html.twig Default/ index.html.twig 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 22 元からある 継承 今から作る さっき弄ってた 継承
23.
Twigテンプレートの継承 2011.06.04 Symfony2勉強会#4
基礎編ワークショップ 23 base.html.twig layout.html.twig <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{%block title %}Welcome!{%endblock%}</title> {%block stylesheets%}{% endblock%} <link rel="shortcut icon" href="{{asset('favicon.ico')}}" /> </head> <body> {%block body %}{%endblock%} {% block javascripts%}{% endblock%} </body> </html> titleブロック index.html.twig {% extends '::base.html.twig' %} {% block title %}WorkShop{% endblock%} {% block body %} {% include 'MyWorkshopBundle::menu.html.twig' %} {% endblock%} 継承 継承 titleブロック {% extends 'MyWorkshopBundle::layout.html.twig' %} {% block body %} {{ parent() }} <!– ここから--> 中身 <!– ここまで {% endblock%} 親のblock呼び出し bodyブロック bodyブロック bodyブロック
24.
Twigテンプレートの継承 2011.06.04 Symfony2勉強会#4
基礎編ワークショップ 24 base.html.twig <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{%block title %}Welcome!{%endblock%}</title> {%block stylesheets%}{% endblock%} <link rel="shortcut icon" href="{{asset('favicon.ico')}}" /> </head> <body> {%block body %}{%endblock%} {% block javascripts%}{% endblock%} </body> </html>
25.
Twigテンプレートの継承 2011.06.04 Symfony2勉強会#4
基礎編ワークショップ 25 layout.html.twig {% extends '::base.html.twig' %} {% block title %}WorkShop{% endblock%} {% block body %} {% include 'MyWorkshopBundle::menu.html.twig' %} {% endblock%}
26.
Twigテンプレートの継承 2011.06.04 Symfony2勉強会#4
基礎編ワークショップ 26 index.html.twig {% extends 'MyWorkshopBundle::layout.html.twig' %} {% block body %} {{ parent() }} <!– ここから--> 中身 <!– ここまで {% endblock%}
27.
目次 ディレクトリ構成(10分) バンドルの作成と登録(10分)
ルーティングの登録(10分) Twig構文を試す(15分) Twigテンプレートの継承(20分) Twigのキャッシュを見る(10分) 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 27
28.
Twigのキャッシュを見る app/cache/dev/twig/* Php
codeにコンパイルされている 意外ときれいなphp-code シンプルだけど、機能を満たす 元のコードとの対応関係がおおよそ分かる 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 28
29.
\(^o^)/おわり\(^o^)/ Next step…
ブログチュートリアル http://doc.symfony.gr.jp/blog-tutorial/ Symfony2 Book http://symfony.com/doc/current/book/index.html 2011.06.04 Symfony2勉強会#4 基礎編ワークショップ 29
Jetzt herunterladen