Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Yii Framework 2.0
遅れてきた5番目のフレームワーク
たなかひさてる
@tanakahisateru
Pinoco developer

PHPTAL contributor

Firebug translation contributor

Yii framework user

PhpStor...
弊社開発中このサービスで使っているのが…
2.0 beta
ご存知ですか?
海外ではSymfonyやCakePHPに並
ぶポピュラーなフレームワーク

!
2.0 beta をそろそろ使い始めても
いいと公式に発表されている
Yii 1.1
• PHP 5.1.2 以上専用
• RHEL-5.10 と CentOS-5 のデフォルト = PHP 5.1.6
• 名前空間がなく、クラス名にCApplicationといったプレフィッ
クスがあった
• CakePHP同様...
Yii 2.0 beta
• PHP 5.4 以上
• ショートArrayシンタックスでスッキリ
• 名前空間の採用でクラス名がシンプルに
• 静的メソッドがオーバーライドできるようになって、
ActiveRecord::find()->… が可...
一言でいえば
RAD (Rapid Application Development) の最右翼
RADの最右翼ってどういうこと?
• ブラウザ内で動くコード生成ツール
• 十分なデバッグツールが初期インストール済み
• きわめてIDE (とくにPhpStorm) フレンドリー
• フレームワークに jQuery を統合済み
• デフォルト...
プロジェクト構成
Rails系, PSR-4ベース

PHPでいえばCakePHPに近い

!
ただしこれは名前空間で自由に構成
可能

↓

規模の大きい開発にも十分
PHP5.4 ビルトインサーバーで試せる
いきなりここからスタート
DBからコード生成
既存ファイルがあればdiff
ソート・フィルター可能生成だけでここまでできる
Easy?
• FuelPHP / Latavel よりずっと枠組みが強い
• スクラッチで書き起こす作業は少なく、新しいことを
やる場合もやり方が決まっている
• PHP on Rails 感
• ※テーブル名に複数形とか単数形とか日本人向き...
Hard?
• PHPオブジェクト指向に対して非常に誠実な設計
• コンフィグが階層的な DI コンテナ定義のよう
• コンポーネントの抽象化が適切
• フレームワークのどの部分でも独自実装に置換可能
• ただし、Symfony ほどの多クラス...
Pragmatic !
• デザインパターンや規約よりも、動くシンプルなコー
ドを優先。余計なものは入れない主義
• MongoDB の ActiveRecord や OAuth プロバイダ対応な
どの拡張が、フレームワークコアと並行して開発さ...
国内の
ユーザーコミュニティ
• Qiita にて 1.1 ベースでアドベン
トカレンダー2012完走

• 本家への貢献者は案外関西に多め

• 某大手サービスや関西の新進気鋭
ベンチャーで1.1が採用されてい
るらしい

• 関西PHPユー...
YiiJan.org
Error 503 orz
2.0 での ActiveRecord
• Eloquent ORM に似た ActiveRecord に変更された
• 結果セットはプレーンな ActiveRecord[ ] 型
• IDEフレンドリー
• いちどに結果を得る以外に…
• ペ...
public function actionDailyBackup()
{
$today = new DateTime();
$today->setTime(0, 0);
!
/** @var Post[] $models */
$models...
引き継がれている長所
• コンポーネント、イベント、ビヘイビア等の一貫性
• コンフィグ Array はオブジェクトのプロパティに対応
• ビューのウィジェット設定もオブジェクトのプロパティ
にぴったり対応
Application
config/*.php
config/*.php
ほとんどの場合、実装クラスの doc コメントが
あればマニュアル不要
!
PhpStorm の F1 キー / Option + Space が便利
引き継がれている長所
• CSS / JS アセット管理をフレームワーク統合
• HTMLのGUIウィジェットを使うだけで、必要な CSS/
JS が公開/リンクされる
class ActiveFormAsset extends AssetBundle
{
public $sourcePath = '@yii/assets';
public $js = [
'yii.activeForm.js',
];
pub...
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'title')->textInput(['maxlength' => 255]) ?>
<!-- 以下略 -->
<...
フロントエンドまで含んでフレームワーク
まさにフルスタック
ありがとうございました
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
Próxima SlideShare
Cargando en…5
×

PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク

4.722 visualizaciones

Publicado el

PHPカンファレンス関西2014のLT発表、Yii Framework 2.0 遅れてきた5番目のフレームワーク です

Publicado en: Tecnología
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... (Unlimited)
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク

  1. 1. Yii Framework 2.0 遅れてきた5番目のフレームワーク
  2. 2. たなかひさてる @tanakahisateru Pinoco developer PHPTAL contributor Firebug translation contributor Yii framework user PhpStorm user フルスタックエンジニア(笑)
  3. 3. 弊社開発中このサービスで使っているのが…
  4. 4. 2.0 beta
  5. 5. ご存知ですか? 海外ではSymfonyやCakePHPに並 ぶポピュラーなフレームワーク ! 2.0 beta をそろそろ使い始めても いいと公式に発表されている
  6. 6. Yii 1.1 • PHP 5.1.2 以上専用 • RHEL-5.10 と CentOS-5 のデフォルト = PHP 5.1.6 • 名前空間がなく、クラス名にCApplicationといったプレフィッ クスがあった • CakePHP同様、Arrayを多用する面倒があった • 遅延静的束縛がなかったため、ActiveRecordのインスタンス に find/save 系メソッドが存在した
  7. 7. Yii 2.0 beta • PHP 5.4 以上 • ショートArrayシンタックスでスッキリ • 名前空間の採用でクラス名がシンプルに • 静的メソッドがオーバーライドできるようになって、 ActiveRecord::find()->… が可能に • 1.1のイライラが全て解消されました
  8. 8. 一言でいえば RAD (Rapid Application Development) の最右翼
  9. 9. RADの最右翼ってどういうこと? • ブラウザ内で動くコード生成ツール • 十分なデバッグツールが初期インストール済み • きわめてIDE (とくにPhpStorm) フレンドリー • フレームワークに jQuery を統合済み • デフォルトのウィジェットが Twitter Bootstrap 3 ベース
  10. 10. プロジェクト構成 Rails系, PSR-4ベース PHPでいえばCakePHPに近い ! ただしこれは名前空間で自由に構成 可能 ↓ 規模の大きい開発にも十分
  11. 11. PHP5.4 ビルトインサーバーで試せる
  12. 12. いきなりここからスタート
  13. 13. DBからコード生成
  14. 14. 既存ファイルがあればdiff
  15. 15. ソート・フィルター可能生成だけでここまでできる
  16. 16. Easy? • FuelPHP / Latavel よりずっと枠組みが強い • スクラッチで書き起こす作業は少なく、新しいことを やる場合もやり方が決まっている • PHP on Rails 感 • ※テーブル名に複数形とか単数形とか日本人向きじゃないルールはありません
  17. 17. Hard? • PHPオブジェクト指向に対して非常に誠実な設計 • コンフィグが階層的な DI コンテナ定義のよう • コンポーネントの抽象化が適切 • フレームワークのどの部分でも独自実装に置換可能 • ただし、Symfony ほどの多クラス主義ではない
  18. 18. Pragmatic ! • デザインパターンや規約よりも、動くシンプルなコー ドを優先。余計なものは入れない主義 • MongoDB の ActiveRecord や OAuth プロバイダ対応な どの拡張が、フレームワークコアと並行して開発され ている • はじめから SwiftMailer を採用 • 全部入りですぐに実用ツールが作れる
  19. 19. 国内の ユーザーコミュニティ • Qiita にて 1.1 ベースでアドベン トカレンダー2012完走 • 本家への貢献者は案外関西に多め • 某大手サービスや関西の新進気鋭 ベンチャーで1.1が採用されてい るらしい • 関西PHPユーザー会で普及のきざ し • そして日本ユーザー会サイト
 YiiJan.org
  20. 20. YiiJan.org Error 503 orz
  21. 21. 2.0 での ActiveRecord • Eloquent ORM に似た ActiveRecord に変更された • 結果セットはプレーンな ActiveRecord[ ] 型 • IDEフレンドリー • いちどに結果を得る以外に… • ページング等は別途DataProviderクラスを使用 • バッチ処理でメモリ消費が高い場合には ->each()
  22. 22. public function actionDailyBackup() { $today = new DateTime(); $today->setTime(0, 0); ! /** @var Post[] $models */ $models = Post::find()->where("updated_at > :today", [ ':today' => $today->getTimestamp() ])->orderBy('id')->all(); ! foreach($models as $model) { Yii::info("Storing " . $model->title); $this->sendToStorage($model); } }
  23. 23. 引き継がれている長所 • コンポーネント、イベント、ビヘイビア等の一貫性 • コンフィグ Array はオブジェクトのプロパティに対応 • ビューのウィジェット設定もオブジェクトのプロパティ にぴったり対応
  24. 24. Application config/*.php
  25. 25. config/*.php
  26. 26. ほとんどの場合、実装クラスの doc コメントが あればマニュアル不要 ! PhpStorm の F1 キー / Option + Space が便利
  27. 27. 引き継がれている長所 • CSS / JS アセット管理をフレームワーク統合 • HTMLのGUIウィジェットを使うだけで、必要な CSS/ JS が公開/リンクされる
  28. 28. class ActiveFormAsset extends AssetBundle { public $sourcePath = '@yii/assets'; public $js = [ 'yii.activeForm.js', ]; public $depends = [ 'yiiwebYiiAsset', ]; }
  29. 29. <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => 255]) ?> <!-- 以下略 --> <script src="/assets/2e597f3c/jquery.js"></script> <script src="/assets/26cbb072/yii.js"></script> ! <script src="/assets/26cbb072/yii.validation.js"></script> <script src=“/assets/26cbb072/yii.activeForm.js"></script> ! <script src=“/assets/a8c5b3b0/js/bootstrap.js"></script> ! <script type="text/javascript">jQuery(document).ready(function () { jQuery('#w0').yiiActiveForm(...); }); </script> ! </body> </html> ビューで何かウィジェットを使うだけで 依存関係を追って、HTML に 必要な JS/CSS が勝手に挿入される
  30. 30. フロントエンドまで含んでフレームワーク まさにフルスタック
  31. 31. ありがとうございました

×