PHPカンファレンス関西2014
PHPカンファレンス関西2014に参加したセッションについて。
❏基調講演: 全てを結ぶ力
講演者:郡山 昭仁(BEAR Sundayの開発者)
(講演以外の内容は補足を追記)
Bear Sundayの開発の経緯やコンセプトを紹介する
基調講演らしい内容。
(補足:Bear SundayはRESTアーキテクチャで構築するリソース指向フレームワーク)
そもそもフレームワークとは何か?
アプリケーション制約がフレームワークである。
Webアプリケーションは
HTTP > Lang > Framework > App
の順で制約を受けている。
制約の上位でもあり、Webが成功した
要因でもあるHTTPやRESTの原則にしたがって、
BEAR Sundayを開発した。
BEAR開発者が考えるRESTとは?
Representational state transferが示すように
状態の移り変わり?(よくわからなかった。。。)
HTTPのセマンティックスにせまれば
開発者じゃない人にもわかりやすい?
BEARでつくられたサイト:pen online
BEAR を構成する技術要素
❏PHPでOSSを維持し続けるには
江藤竜二(baserCMS) 菱川拓郎(concrete5) 紀野 惠(Drupal)
3つのOSSのCMS(Content Management System)の関係者による
パネルディスカッション。
◆baserCMS
国産CMS。PHPのWebフレームワーク CakePHPを
ベースに開発。
コンピュータに詳しくない人でも
ホームページの構築・運用できる仕組みを目指している。
ブログやメールフォームなどのWebサイトに
最低限必要な機能を提供。
◆concrete5
アメリカのCMS。ユーザにとっては操作しやすく、
開発者にとってはMVCのアーキテクチャで開発
しやすいことを目指している。導入事例として
ケンブリッジ大学のプレスサイトやJTBグローバルマーケ
ティングのサイトがある。
◆Drupal
世界中に多くのコミュニティをもち、180言語に対応するCMS。
開発がコミュニティベースで行われているプロダクト。
特徴はWebフレームワークでもあり、CMSでもある。
❏フレームワークを使うべき3つの理由
向井賢一
べた書きのPHPのWebアプリを
フレームワークを使用したアプリへ書き換える
・Viewの分離 変更を柔軟に
・DBからの情報取得をモデル化 コントローラを明確に
フレームワーク化のアンチパターン
設定ファイルを違う場所に書く
【関連書籍】
・ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系
・効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門
❏フレームワーク4本勝負
Laravel Symfony CakePHP FuelPHP
◆CakePHP
「設定より規約」
スピーディな開発のためには、各コードの量を減らすことが目的。
規約にはまらない場合は、設定を書く。
◆Symfony
長期運用に適している(詳細は後日アップのスライドに記載)
バージョン1の時点でデバッグツールが豊富
Symfony1と2は全くの別物
シングルトンでの取得などが変わっている
sfContext::getInstanceが$container->get()など
◆Laravel
Braddesテンプレートという機能でテンプレートを簡潔に
Eloquentによってコードを短く
AristanによってDBマイグレーションを簡単に
Tinker CLIでモジュールを試すことができる
◆FuelPHP
CodeIgniterというフレームワークから派生した
フレームワーク。PHP5.3以上対応。
Routingをサポート(routing.php)
SQL文内にを書く必要がなくて、
:nameと書いてあとでバインドが可能
FuelPHPの特徴はsimple,flexible,community.
「規約より設定」で学習コストを下げる
リクエストごとにアプリケーションを分割して
テストの範囲を限定できる
ex.http://hoge.com/blog はBlogモジュールしかアクセスできない
Fuel2系の開発が進行中