SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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メモリでも配布しています
●
http://localhost/symfony-
sandbox/web/app_dev.php/hello/fabien
●
$ php app/console
動いた方は、プロファイラーやエラーページを見てみてください
Symfony2ワークショップ#1
ディレクトリやファイル(10分)
●
web
●
app
●
src
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
Symfony2ワークショップ#1
テンプレートの継承(PHP)
app/views/
-
src/Application/HelloBundle/Resources/
views/
-
Hello/
-
-
layout.php
layout.php
index.php
test.php
Symfony2ワークショップ#1
テンプレートの継承(PHP)
app/views/
-
src/Application/HelloBundle/Resources/
views/
-
Hello/
-
-
layout.php
layout.php
index.php
test.php
testAction
render()
Symfony2ワークショップ#1
テンプレートの継承(PHP)
app/views/
-
src/Application/HelloBundle/Resources/
views/
-
Hello/
-
-
layout.php
layout.php
index.php
test.php
_contentスロット
_contentスロット
testAction
render()
Symfony2ワークショップ#1
テンプレートの継承(PHP)
app/views/
-
src/Application/HelloBundle/Resources/
views/
-
Hello/
-
-
layout.php
layout.php
index.php
test.php
_contentスロット
_contentスロット
testAction
render()
レンダリング結果
Symfony2ワークショップ#1
ビューでのヘルパーいろいろ(5分)
●
ビュー内で $view 変数経由
 → echo get_class($this)
 → echo get_class($view)
共通メニュー用のビューを作って埋め込む
 →Resources/views/menu.php
Symfony2ワークショップ#1
(共通メニューを埋め込む)
●
Resources/views/layout.php
$view->render() で埋め込む
symfony 1の「パーシャル」相当の機能
Symfony2ワークショップ#1
他のヘルパー(10分)
●
スロット(スロットヘルパー)
app/views/layout.php
●
【スロットへの値の設定】
$view['slots']->start('title')
$view['slots']->end()
Symfony2ワークショップ#1
actionsヘルパー
●
テンプレートに特定のアクションのレンダリング結果を埋
め込む
symfony 1の「コンポーネント」相当の機能
Symfony2ワークショップ#1
ヘルパーの実体はどこにある?(10分)
●
src/vendor/symfony/src/symfony/
Bundle/FrameworkBundle
Resources/config/templating.xml
Templating/Helper
ActionsHelper.php
:
Component
Templating/Helper
AssetsHelper.php
:
Symfony2ワークショップ#1
Twigを使う(10分)
●
設定の有効化
 app/config/config.ymlでコメントを解除
 app/AppKernel.phpでバンドルのコメントを解除
●
アクションのレンダリング部分で拡張子を変更
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 %}
Symfony2ワークショップ#1
続きは・・・
●
2次会や、Symfony Midnightで!
 もしくは各自で復習してください!
●
分からないことは、Symfonyユーザー会MLへ
 もしくはtwitter #symfony_jaへ

Weitere ähnliche Inhalte

Was ist angesagt?

Xcodeでmrubyをステップ実行してみた
Xcodeでmrubyをステップ実行してみたXcodeでmrubyをステップ実行してみた
Xcodeでmrubyをステップ実行してみた
firewood
 
Python Kyoto study LT
Python Kyoto study LTPython Kyoto study LT
Python Kyoto study LT
Naoya Inada
 
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Hidenori Goto
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
Naoya Inada
 

Was ist angesagt? (20)

anyframeを使おう
anyframeを使おうanyframeを使おう
anyframeを使おう
 
Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20
 
Vsubuntu
VsubuntuVsubuntu
Vsubuntu
 
本格的に始めるzsh
本格的に始めるzsh本格的に始めるzsh
本格的に始めるzsh
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015
 
Unixコマンド入門
Unixコマンド入門Unixコマンド入門
Unixコマンド入門
 
Unix architecture
Unix architectureUnix architecture
Unix architecture
 
Guiなテスト環境
Guiなテスト環境Guiなテスト環境
Guiなテスト環境
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask
 
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなしRubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
 
Xcodeでmrubyをステップ実行してみた
Xcodeでmrubyをステップ実行してみたXcodeでmrubyをステップ実行してみた
Xcodeでmrubyをステップ実行してみた
 
Python Kyoto study LT
Python Kyoto study LTPython Kyoto study LT
Python Kyoto study LT
 
Unityで関数型言語ぽく書く 如法会#1
Unityで関数型言語ぽく書く   如法会#1Unityで関数型言語ぽく書く   如法会#1
Unityで関数型言語ぽく書く 如法会#1
 
RuCTFEに参加したよ
RuCTFEに参加したよRuCTFEに参加したよ
RuCTFEに参加したよ
 
ipython-notebook-provisioning
ipython-notebook-provisioningipython-notebook-provisioning
ipython-notebook-provisioning
 
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
 
MenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++APIMenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++API
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
 
doctest を書こう @ pycon kansai
doctest を書こう @ pycon kansaidoctest を書こう @ pycon kansai
doctest を書こう @ pycon kansai
 
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204
 

Ähnlich wie Symfony2 workshop-1

Symfony2 workshop-0 (nagoya 2011/2/10)
Symfony2 workshop-0 (nagoya 2011/2/10)Symfony2 workshop-0 (nagoya 2011/2/10)
Symfony2 workshop-0 (nagoya 2011/2/10)
Hidenori Goto
 
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
Yoshinori Kobayashi
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
 
symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会
tsukimiya
 
Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?
Kousuke Ebihara
 

Ähnlich wie Symfony2 workshop-1 (20)

Symfony2 workshop-0 (nagoya 2011/2/10)
Symfony2 workshop-0 (nagoya 2011/2/10)Symfony2 workshop-0 (nagoya 2011/2/10)
Symfony2 workshop-0 (nagoya 2011/2/10)
 
日本Symfonyユーザ会によるSymfony2 ワークショップ
日本Symfonyユーザ会によるSymfony2 ワークショップ日本Symfonyユーザ会によるSymfony2 ワークショップ
日本Symfonyユーザ会によるSymfony2 ワークショップ
 
Symfony勉強会#9 form
Symfony勉強会#9 formSymfony勉強会#9 form
Symfony勉強会#9 form
 
Symfony 1.4 TIPS from Openpne Source Code
Symfony 1.4 TIPS from Openpne Source CodeSymfony 1.4 TIPS from Openpne Source Code
Symfony 1.4 TIPS from Openpne Source Code
 
翻訳について
翻訳について翻訳について
翻訳について
 
第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0第4回Symfony2勉強会 基礎編ワークショップ.0
第4回Symfony2勉強会 基礎編ワークショップ.0
 
LibreOfficeをWindows上でビルドする
LibreOfficeをWindows上でビルドするLibreOfficeをWindows上でビルドする
LibreOfficeをWindows上でビルドする
 
Symfony tdd
Symfony tddSymfony tdd
Symfony tdd
 
LibreOffice を Windows 上でビルドする UPDATE
LibreOffice を Windows 上でビルドする UPDATELibreOffice を Windows 上でビルドする UPDATE
LibreOffice を Windows 上でビルドする UPDATE
 
Symfony2 introduction
Symfony2 introductionSymfony2 introduction
Symfony2 introduction
 
LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2
 
Symfony2 workshop-2
Symfony2 workshop-2Symfony2 workshop-2
Symfony2 workshop-2
 
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
 
Symfony updates
Symfony updatesSymfony updates
Symfony updates
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsThe Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
 
EC-CUBEユーザカンファレンス2016
EC-CUBEユーザカンファレンス2016EC-CUBEユーザカンファレンス2016
EC-CUBEユーザカンファレンス2016
 
symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会
 
Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?Introduction of symfony development process & What's symfony 1.3?
Introduction of symfony development process & What's symfony 1.3?
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
 

Mehr von Hidenori Goto

Excelで勤務時間合計2
Excelで勤務時間合計2Excelで勤務時間合計2
Excelで勤務時間合計2
Hidenori Goto
 
Excelで勤務時間合計
Excelで勤務時間合計Excelで勤務時間合計
Excelで勤務時間合計
Hidenori Goto
 
Symfony2 workshop-1 (nagoya 2011/2/10)
Symfony2 workshop-1 (nagoya 2011/2/10)Symfony2 workshop-1 (nagoya 2011/2/10)
Symfony2 workshop-1 (nagoya 2011/2/10)
Hidenori Goto
 
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
Hidenori Goto
 
HTC Desireについて
HTC DesireについてHTC Desireについて
HTC Desireについて
Hidenori Goto
 
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
Hidenori Goto
 

Mehr von Hidenori Goto (20)

Excelで勤務時間合計2
Excelで勤務時間合計2Excelで勤務時間合計2
Excelで勤務時間合計2
 
Excelで勤務時間合計
Excelで勤務時間合計Excelで勤務時間合計
Excelで勤務時間合計
 
Symfony2 3rd-Party Bundles
Symfony2 3rd-Party BundlesSymfony2 3rd-Party Bundles
Symfony2 3rd-Party Bundles
 
Symfony2 Behat/BDD (#Symfony2study 4)
Symfony2 Behat/BDD (#Symfony2study 4)Symfony2 Behat/BDD (#Symfony2study 4)
Symfony2 Behat/BDD (#Symfony2study 4)
 
Symfony2 behat-bdd
Symfony2 behat-bddSymfony2 behat-bdd
Symfony2 behat-bdd
 
Symfony2 workshop-1 (nagoya 2011/2/10)
Symfony2 workshop-1 (nagoya 2011/2/10)Symfony2 workshop-1 (nagoya 2011/2/10)
Symfony2 workshop-1 (nagoya 2011/2/10)
 
Orm Designer
Orm DesignerOrm Designer
Orm Designer
 
Symfony2 caching
Symfony2 cachingSymfony2 caching
Symfony2 caching
 
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
 
HTC Desireについて
HTC DesireについてHTC Desireについて
HTC Desireについて
 
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
Abコマンドを使ったウェブアプリケーションのパフォーマンス計測
 
TwitterのStreaming ApiをPhpから使う
TwitterのStreaming ApiをPhpから使うTwitterのStreaming ApiをPhpから使う
TwitterのStreaming ApiをPhpから使う
 
TwitterのStreaming APIについて
TwitterのStreaming APIについてTwitterのStreaming APIについて
TwitterのStreaming APIについて
 
SubversionとSugarsync
SubversionとSugarsyncSubversionとSugarsync
SubversionとSugarsync
 
Osc Nagoya 2009 symfonyの紹介
Osc Nagoya 2009 symfonyの紹介Osc Nagoya 2009 symfonyの紹介
Osc Nagoya 2009 symfonyの紹介
 
Jimdoの紹介
Jimdoの紹介Jimdoの紹介
Jimdoの紹介
 
EclipseでPHP開発
EclipseでPHP開発EclipseでPHP開発
EclipseでPHP開発
 
Tajimiit200905
Tajimiit200905Tajimiit200905
Tajimiit200905
 
Slideshare Japanese
Slideshare JapaneseSlideshare Japanese
Slideshare Japanese
 
symfonyの始め方
symfonyの始め方symfonyの始め方
symfonyの始め方
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Symfony2 workshop-1