基本的な特徴

完全オブジェクト指向の PHP 5 で、基本的にはMVCモデルのフレームワークです。
PHP 5のコアである「Zend Engine 2」などを開発しているZend Technologies社が中心となって開発しています。

パッケージのディレクトリ構成
Zend Frameworkで提供されるコンポーネント
ライセンス
データベース
コーディングルール
プロジェクトの構成
MVCモデルの構成

クラスライブラリは「コンポーネント」と呼ばれ、コンポーネントをそれぞれインクルードして使用します。
そのため最小限のクラスを読み込むことにより、Symfonyなどのフレームワークに比べると高速に動作します。

ルールがガチガチに固められておらず、かなり柔軟なフレームワークのため、既存のリソースを使いやすく、フレームワークへの移行がしやすいです。
MVCモデルの『ビュー』の部分もZend_Viewとしてコンポーネント化されているため、MVCを使用せず、ライブラリ集としての使用も可能です。

ただ人それぞれで使い方が違うため、既存プロジェクトを改修する場合などはコードの解析やルールの把握に時間がかかる場合があります。
(人の入れ替わりが多いプロジェクトでは適さないかもしれません。)

基本的にZend Frameworkパッケージの内容は変更せず、作成したプロジェクトファイルからZend Frameworkパッケージをインクルードして使用します。

公式サイト
ダウンロード
マニュアル
クイックスタート(ここから簡単なコードサンプルをダウンロードできます)

パッケージのディレクトリ構成

フォルダ内容
libraryZend Frameworkの各種コンポーネント
binシェル実行用
externals外部ファイル
demosデモンストレーション用コード
tests各コンポーネントのテスト用コード
extrasマニュアルなどその他のファイル
INSTALL.txtZend Framework設置の概要
LICENSE.txtZend Frameworkのライセンスファイル
README.txtZend Framework全体の概要

[参考記事] Zend Frameworkパッケージのファイル一覧
[参考記事] 最小版Zend Frameworkパッケージのファイル一覧
[参考記事] 作成するファイルの推奨ディレクトリ構成

Zend Frameworkで提供されるコンポーネント

コンポーネント概要
Zend_Acl軽量で柔軟なアクセス制御リスト(ACL)機能と権限管理機能
Zend_Auth認証のためのAPI
Zend_Cache任意のデータをキャッシュするためのコンポーネント
Zend_Configアプリケーションの設定データを使用するためのコンポーネント
Zend_Console_Getoptコマンドラインアプリケーションでのオプション・引数処理関連コンポーネント
Zend_ControllerMVCシステムの中心で「コントローラ」の部分
Zend_CurrencyI18N機能の中核となるコンポーネント
Zend_Date日付や時刻を操作するためのAPI
Zend_DbSQLデータベースアクセス関連コンポーネント
Zend_Debugデバッグ関連コンポーネント
Zend_Exception例外クラス関連コンポーネント
Zend_FeedRSSやAtomのフィード関連コンポーネント
Zend_Filterデータのフィルタリングに必要となる一般的な機能を提供
Zend_Filter_Inputフィルタやバリデータなど入力値検証関連コンポーネント
Zend_GdataGoogle DataにPHPからアクセスするためのコンポーネント
Zend_HttpHTTPリクエスト関連コンポーネント
Zend_JsonJSON形式を扱うための便利なメソッドを提供
Zend_Loaderファイルを動的に読み込むためのメソッドを提供
Zend_Localeロケール処理関連コンポーネント
Zend_Logログ出力用の汎用コンポーネント
Zend_Mailメールを作成・送信するための一般的な機能を提供
Zend_Measure計測値の単位変換や計算を行うためのパッケージ
Zend_Memoryメモリ管理コンポーネント
Zend_MimeマルチパートMIMEメッセージを処理するためのサポートクラス
Zend_PdfPDF操作エンジン
Zend_Registryアプリケーション用のレジストリ関連コンポーネント
Zend_RestREST Webサービス利用関連コンポーネント
Zend_Search_Lucene汎用的なテキスト検索エンジン
Zend_Server_Reflectionサーバクラス群で関数やクラスの内容を知るための標準的な仕組みを提供
Zend_Service_AkismetAkismet APIのクライアント機能を提供
Zend_Service_AmazonAmazon Webサービスを使用するためのシンプルなAPI
Zend_Service_AudioscrobblerAudioscrobbler REST Webサービスを使用するためのシンプルなAPI
Zend_Service_Deliciousdel.icio.usのXMLおよびJSON Webサービスを使用するためのシンプルなAPI
Zend_Service_FlickrFlickr のREST Web Serviceを使用するためのシンプルなAPI
Zend_Service_SimpyソーシャルブックマークサービスであるSimpy用のフリーなREST APIの軽量なラッパー
Zend_Service_StrikeIronStrikeIron Webサービス用のPHP5クライアント
Zend_Service_YahooさまざまなYahoo! REST API群を使用するための単純なAPI
Zend_Sessionセッションデータ管理関連コンポーネント
Zend_Translate多言語対応アプリケーションを作成するためのパッケージ
Zend_UriURIsの操作および検証を行うためのコンポーネント
Zend_Validate一般的に必要となるバリデータを提供
Zend_VersionZend Framework のバージョン管理関連コンポーネント
Zend_ViewMVCパターンにおける 「ビュー」として働くクラス
Zend_XmlRpcXML-RPCサービス関連コンポーネント

ライセンス

修正BSDライセンス(New BSDライセンス)
このため商用利用でもコード公開の義務はない。

[参考記事] オープンソースライセンスの一覧と日本語訳

データベース

データベースはDBクラスを使用しているため、MySQL、PostgreSQL、Oracle、IBM DB2、Microsoft SQL Server、SQLite、などに対応しています。

コーディングルール

インデントは半角スペース4つ、改行コードはLF(\n)です。

それ以外にもマニュアルには詳細なコーディング規則が定義されています。

プロジェクトの構成

カテゴリ説明
プロジェクト(project)サイト全般サイト
モジュール(module)フロント公開・管理、ポータル・ブログ・会員
コントローラ(controller)機能のまとまり商品・ニュース・お問い合わせ
アクション(action)1つの処理一覧・登録

MVCモデルの構成

M(モデル)modelsデータ管理機能
データベースやファイルにアクセスする機能
V(ビュー)views画面表示テンプレート
C(コントローラ)controllers全体の制御

関連記事

スポンサーリンク

古いバージョンのXcodeやiOS SDKを入手する方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る