狠狠撸

狠狠撸Share a Scribd company logo
会場注意Symfony2が動く環境を急いで整えてください!会場無線LANが使えません野良無線の提供をしていただける方が居ましたら、前方ホワイトボードにアイパス設定を書いてくださいご協力お願いしますm(_ _)mトイレに行くにはカードキーが必要になりますスタッフにお申し付けください2011.06.04Symfony2勉強会#4 基礎編ワークショップ1
厂测尘蹿辞苍测2勉强会#4基础编ワークショップ.02011.06.04上野裕介
まずは…環境整備Standard Editionのダウンロード解凍?配置config.phpapp_dev.phpの確認2011.06.043Symfony2勉強会#4 基礎編ワークショップ
1.Standard Editionのダウンロードhttp://symfony.com/downloadSymfony2 Standard Edition BETA 3vendors一式が同梱済み環境php 5.3.2以上2011.06.044Symfony2勉強会#4 基礎編ワークショップ
2. 解凍?配置Webサーバで閲覧できる場所に解凍?配置(VirtualHost、hostsを設定)<VirtualHost *:80>ServerAdminwebmaster@localhostDocumentRoot "/Users/uechoco/dev/php_works/sf2b3/web"ServerName sf2b3.localhost    <Directory />        Order deny,allow        Deny from all        Allow from 127.0.0.1AllowOverride all        Options allDirectoryIndexapp.phpindex.htmlindex.htm    </Directory></VirtualHost>2011.06.045Symfony2勉強会#4 基礎編ワークショップ
3. config.php動作確認の単体phpたぶん問題が2つ起きるので、以下のコマンドsudochmod -R 777 app/cache/ app/logs/2011.06.046Symfony2勉強会#4 基礎編ワークショップ
4. app_dev.phpの確認app_dev.phpが見れます![RUN THE DEMO]でhello, Worldが見れます2011.06.047Symfony2勉強会#4 基礎編ワークショップ
自己紹介上野裕介(@uechoco)有限会社スグエ - エンジニア社会人2年目現在CakePHP使い元symfony 1.x使いキイロイトリ好き!!2011.06.048Symfony2勉強会#4 基礎編ワークショップ
キイロイトリグッズたち2011.06.04Symfony2勉強会#4 基礎編ワークショップ9
今回Symfony2勉強会第1部概要(30min)ワークショップ(1hour)2011.06.0410Symfony2勉強会#4 基礎編ワークショップ
Symfony2とはsymfony 1.xとは全く別物アップグレードはありませんphp 5.3.2以降名前空間DIコンテナ遅延読み込み(lazy load)バンドルDoctrine2Twig2011.06.04Symfony2勉強会#4 基礎編ワークショップ11
Symfony2を使う6つの技術的な利点Faster and less greedyUnlimited FlexibilityExpandableStable and sustainableThe joy of developingEase of use出典:The technological benefits of Symfony in 6 easy lessonshttp://symfony.com/six-good-technical-reasons2011.06.0412Symfony2勉強会#4 基礎編ワークショップSymfony2 はsymfony 1.4 より3 倍速いメモリの使用量は半分
Symfony2の現状本当は2011/3/5に正式リリース予定だったちょうど3ヶ月経ちましたSymfony2 Beta3リリースはいつ?2011.06.04Symfony2勉強会#4 基礎編ワークショップ13
ワークショップの前に解説するもの名前空間DISymfony2の処理フロー2011.06.04Symfony2勉強会#4 基礎編ワークショップ14
名前空間(1 of 4)2011.06.04Symfony2勉強会#4 基礎編ワークショップ15<?phpnamespace HTTP\Client;useHTTP\Message\Request;interfaceClientInterface{	/**	 * Sends a request.	 */functionsend(Request $request);}HTTP\Message\RequestHTTP\Client\Request
名前空間(2 of 4)2011.06.04Symfony2勉強会#4 基礎編ワークショップ16<?phpnamespace HTTP\Client;useHTTP\Message\Request asHttpRequest;interfaceClientInterface{	/**	 * Sends a request.	 */functionsend(HttpRequest $request);}
名前空間(3 of 4)2011.06.04Symfony2勉強会#4 基礎編ワークショップ17<?phpnamespace HTTP\Client;useHTTP\Message;interfaceClientInterface{	/**	 * Sends a request.	 */functionsend(Message\Request $request);}
名前空間(4 of 4)2011.06.04Symfony2勉強会#4 基礎編ワークショップ18<?phpnamespace HTTP\Client;interfaceClientInterface{	/**	 * Sends a request.	 */functionsend(\sfWebRequest $request);}
DI(1 of 4)Dependency Injection(依存性の注入)Javaでよく使われていたデザインパターンの1つDIコンテナ=依存性を注入する入れ物(外部の設定ファイルを読み込んで)(実行時に)依存性を注入(インスタンスや設定値を管理)Symfony2の内部を理解するには必須2011.06.04Symfony2勉強会#4 基礎編ワークショップ19
DI(2 of 4)依存しているコードUserクラスがSessionStorageクラスに依存している(設定を変えようにもテストしようにも面倒)2011.06.04Symfony2勉強会#4 基礎編ワークショップ20<?phpclass User{protected $storage;function __construct()	{		$this->storage = new SessionStorage(‘SESSION_ID’);	}}クラス名がハードコーディング設定値がハードコーディング
DI(3 of 4)設定変更、SessionStorageクラスの置き換え、がUserクラスに変更を加えずにできる2011.06.04Symfony2勉強会#4 基礎編ワークショップ21<?phpclass User{protected $storage;function __construct($storage)	{		$this->strorage = $storage;	}}$storage = new SessionStorage('SESSION_ID');$user = new User($storage);
DI(4 of 4)DI(コンテナ)のメリットLazy load(今まで比べて)速度向上テストしやすい拡張しやすいFabienさんのDI(コンテナ)に関する全6回の記事http://fabien.potencier.org/article/11/what-is-dependency-injectionDependency InjectionはPHP5.3になってどう変わったか?chobi_eさんがまだニートだった頃の記事http://d.hatena.ne.jp/chobi_e/20101102/12886777842011.06.04Symfony2勉強会#4 基礎編ワークショップ22
Symfony2の処理フロー(1 of 3)Webページを表示する2011.06.04Symfony2勉強会#4 基础编ワークショップ23リクエストレスポンス
Symfony2の処理フロー(2 of 3)Symfony22011.06.04Symfony2勉強会#4 基础编ワークショップ24厂测尘蹿辞苍测2リクエスト搁别辩耻别蝉迟内部処理レスポンス搁别蝉辫辞苍蝉别
Symfony2の処理フロー(3 of 3)2011.06.04Symfony2勉強会#4 基础编ワークショップ25厂测尘蹿辞苍测2搁别辩耻别蝉迟内部処理=碍别谤苍别濒鲍搁滨のマッチング颁辞苍迟谤辞濒濒别谤补诲诲础肠迟颈辞苍搁别蝉辫辞苍蝉别
以降はワークショップです!2011.06.04Symfony2勉強会#4 基礎編ワークショップ26

More Related Content

Similar to 第4回Symfony2勉強会 基礎編ワークショップ.0 (20)

骋耻颈なテスト环境
骋耻颈なテスト环境骋耻颈なテスト环境
骋耻颈なテスト环境
Shingo Nakamura
?
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Hidenori Goto
?
symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会
tsukimiya
?
Symfony2 workshop-1
Symfony2 workshop-1Symfony2 workshop-1
Symfony2 workshop-1
Hidenori Goto
?
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204
Hidenori Goto
?
20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ
Hiromu Shioya
?
Symfony updates
Symfony updatesSymfony updates
Symfony updates
Katsuhiro Ogawa
?
Symfony2 introduction
Symfony2 introductionSymfony2 introduction
Symfony2 introduction
Hidenori Goto
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
ssuser551c92
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Yoshikazu Kawashima
?
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
?
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
?
KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~
碍尝补产株式会社
?
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
Hidenori Goto
?
尝辫颈肠濒304セミナー资料20140727
尝辫颈肠濒304セミナー资料20140727尝辫颈肠濒304セミナー资料20140727
尝辫颈肠濒304セミナー资料20140727
Takahiro Kujirai
?
20110715 osc2011 kyoto
20110715 osc2011 kyoto20110715 osc2011 kyoto
20110715 osc2011 kyoto
Yamauchi isamu
?
2009年の笔贬笔フレームワーク
2009年の笔贬笔フレームワーク2009年の笔贬笔フレームワーク
2009年の笔贬笔フレームワーク
Takuya Sato
?
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
?
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介
Yuuki Nara
?
20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町
Takahiro Kujirai
?
骋耻颈なテスト环境
骋耻颈なテスト环境骋耻颈なテスト环境
骋耻颈なテスト环境
Shingo Nakamura
?
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Hidenori Goto
?
symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会
tsukimiya
?
Symfony2 intro-20111204
Symfony2 intro-20111204Symfony2 intro-20111204
Symfony2 intro-20111204
Hidenori Goto
?
20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ20090415 すばらしきSymfonyの世界へようこそ
20090415 すばらしきSymfonyの世界へようこそ
Hiromu Shioya
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
ssuser551c92
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Yoshikazu Kawashima
?
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
?
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
?
KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~KLab Social Game Platform ~Symfony1.4活用事例~
KLab Social Game Platform ~Symfony1.4活用事例~
碍尝补产株式会社
?
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
Hidenori Goto
?
尝辫颈肠濒304セミナー资料20140727
尝辫颈肠濒304セミナー资料20140727尝辫颈肠濒304セミナー资料20140727
尝辫颈肠濒304セミナー资料20140727
Takahiro Kujirai
?
2009年の笔贬笔フレームワーク
2009年の笔贬笔フレームワーク2009年の笔贬笔フレームワーク
2009年の笔贬笔フレームワーク
Takuya Sato
?
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
?
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介
Yuuki Nara
?
20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町
Takahiro Kujirai
?

第4回Symfony2勉強会 基礎編ワークショップ.0