CakePHPは規約通りに命名することで機能的に動作する


CakePHPは、Ruby on Railsの基本理念を取り入れたMITライセンスのフレームワークとして知られている。MVCアーキテクチャを採用しており、次のような規約がある。

・コントローラの規約:コントローラのクラス名は複数形でキャメル記法で最後に Controller をつける(例:BooksController)。コントローラのクラス名は、小文字の URL パスにマップされる(例:BooksController -> example.com/books)。

・ファイルとクラス名の規約:ファイル名はクラス名と同じものになり、キャメルケースとなる(例:BooksController -> BooksController.php)。

・モデルとデータベースの規約:モデルのクラス名は単数形でキャメル記法でとなる(例:WhiteBook )。モデルに対応するテーブル名は、複数形でアンダースコア記法となる(例:WhiteBook -> white_books)。

・ビューの規約:ビューを表示するコントローラの関数に合わせた、アンダースコア記法で ビューのテンプレートファイル名を付ける(例:BooksController .getStory-> /app/views/books/get_story.ctp)。

面倒な設定を必要とするフレームワーク(たとえばstruts)とは違い、上記の規約通りに命名することで機能的に動作するようになる。

 


2013年にサポートを終了したStruts


Strutsは、Webアプリケーションを作成するためのフレームワークとして知られている。Strutsの特徴は、オープンソースコミュニティが開発し、必要最小限の機能を提供することによって、フレームワーク新規導入の敷居を下げたことにある。

Strutsが提供する機能は次の6項目になる。

1:画面遷移の管理

2:クライアントリクエストの処理

3:クライアントレスポンスの生成

4:例外処理

5:ロギング

6:コネクションプーリング

Strutsを使ったWebアプリケーションを開発する場合、開発者は次の5項目を行えば良い。

1:アクションコンフィグレーションファイルの定義

2:アクションフォームBeanの作成

3:アクションクラスの作成

4:JSPの作成

5:サーブレットコンテナのインストール

Strutsには、次のような問題点が指摘されている。

1:設定ファイルへの労力が多い

2:2013年にサポートを終了し、最近のトレンドに対応できていない

3:API継承仕様により、アクションクラスの単体テストが難しい

現在、新規にWebアプリケーションを開発する際のフレームワークとしてSpringが最適といわれている。実績やドキュメントが豊富で、最近のトレンドにも対応できるのが選定理由とされる。

 


Spring Framework


Spring Framework(Spring)は、Java向けのオープンソースなフレームワークとして知られている。

Spring Frameworkは、Enterprise JavaBeans(EJB)の置換として多用されているが、Java EEの範囲を超えてインテグレーションできる。

Spring Frameworkは、ドキュメントが豊富にあり、あらゆる状況にフレキシブルに対応し、新しい機能をいち早く取り入れている。

Spring Frameworkは、次のようなモジュールから構成されている。
・Inversion of Control(制御の反転)
・Spring AOP(アスペクト指向プログラミング)
・データアクセス
・トランザクション管理
・Spring MVC(Model View Controller)
・リモートアクセス
・Spring Roo(設定より規約)
・バッチ処理
・Spring Security(認証)
・リモート管理
・メッセージ
・テスト機能

2016年9月19日に、バージョン4.3.3がリリースされている。