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 を構成する技術要素



PHPOSSを維持し続けるには
 江藤竜二(baserCMS) 菱川拓郎(concrete5) 紀野 惠(Drupal)

3つのOSSCMS(Content Management System)の関係者による
パネルディスカッション。

◆baserCMS
 国産CMSPHPの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系の開発が進行中