基本的な特徴
完全オブジェクト指向の PHP 5 で、基本的にはMVCモデルのフレームワークです。
PHP 5のコアである「Zend Engine 2」などを開発しているZend Technologies社が中心となって開発しています。
パッケージのディレクトリ構成
Zend Frameworkで提供されるコンポーネント
ライセンス
データベース
コーディングルール
プロジェクトの構成
MVCモデルの構成
クラスライブラリは「コンポーネント」と呼ばれ、コンポーネントをそれぞれインクルードして使用します。
そのため最小限のクラスを読み込むことにより、Symfonyなどのフレームワークに比べると高速に動作します。
ルールがガチガチに固められておらず、かなり柔軟なフレームワークのため、既存のリソースを使いやすく、フレームワークへの移行がしやすいです。
MVCモデルの『ビュー』の部分もZend_Viewとしてコンポーネント化されているため、MVCを使用せず、ライブラリ集としての使用も可能です。
ただ人それぞれで使い方が違うため、既存プロジェクトを改修する場合などはコードの解析やルールの把握に時間がかかる場合があります。
(人の入れ替わりが多いプロジェクトでは適さないかもしれません。)
基本的にZend Frameworkパッケージの内容は変更せず、作成したプロジェクトファイルからZend Frameworkパッケージをインクルードして使用します。
公式サイト
ダウンロード
マニュアル
クイックスタート(ここから簡単なコードサンプルをダウンロードできます)
パッケージのディレクトリ構成
フォルダ | 内容 |
---|---|
library | Zend Frameworkの各種コンポーネント |
bin | シェル実行用 |
externals | 外部ファイル |
demos | デモンストレーション用コード |
tests | 各コンポーネントのテスト用コード |
extras | マニュアルなどその他のファイル |
INSTALL.txt | Zend Framework設置の概要 |
LICENSE.txt | Zend Frameworkのライセンスファイル |
README.txt | Zend Framework全体の概要 |
[参考記事] Zend Frameworkパッケージのファイル一覧
[参考記事] 最小版Zend Frameworkパッケージのファイル一覧
[参考記事] 作成するファイルの推奨ディレクトリ構成
Zend Frameworkで提供されるコンポーネント
コンポーネント | 概要 |
---|---|
Zend_Acl | 軽量で柔軟なアクセス制御リスト(ACL)機能と権限管理機能 |
Zend_Auth | 認証のためのAPI |
Zend_Cache | 任意のデータをキャッシュするためのコンポーネント |
Zend_Config | アプリケーションの設定データを使用するためのコンポーネント |
Zend_Console_Getopt | コマンドラインアプリケーションでのオプション・引数処理関連コンポーネント |
Zend_Controller | MVCシステムの中心で「コントローラ」の部分 |
Zend_Currency | I18N機能の中核となるコンポーネント |
Zend_Date | 日付や時刻を操作するためのAPI |
Zend_Db | SQLデータベースアクセス関連コンポーネント |
Zend_Debug | デバッグ関連コンポーネント |
Zend_Exception | 例外クラス関連コンポーネント |
Zend_Feed | RSSやAtomのフィード関連コンポーネント |
Zend_Filter | データのフィルタリングに必要となる一般的な機能を提供 |
Zend_Filter_Input | フィルタやバリデータなど入力値検証関連コンポーネント |
Zend_Gdata | Google DataにPHPからアクセスするためのコンポーネント |
Zend_Http | HTTPリクエスト関連コンポーネント |
Zend_Json | JSON形式を扱うための便利なメソッドを提供 |
Zend_Loader | ファイルを動的に読み込むためのメソッドを提供 |
Zend_Locale | ロケール処理関連コンポーネント |
Zend_Log | ログ出力用の汎用コンポーネント |
Zend_Mail | メールを作成・送信するための一般的な機能を提供 |
Zend_Measure | 計測値の単位変換や計算を行うためのパッケージ |
Zend_Memory | メモリ管理コンポーネント |
Zend_Mime | マルチパートMIMEメッセージを処理するためのサポートクラス |
Zend_Pdf | PDF操作エンジン |
Zend_Registry | アプリケーション用のレジストリ関連コンポーネント |
Zend_Rest | REST Webサービス利用関連コンポーネント |
Zend_Search_Lucene | 汎用的なテキスト検索エンジン |
Zend_Server_Reflection | サーバクラス群で関数やクラスの内容を知るための標準的な仕組みを提供 |
Zend_Service_Akismet | Akismet APIのクライアント機能を提供 |
Zend_Service_Amazon | Amazon Webサービスを使用するためのシンプルなAPI |
Zend_Service_Audioscrobbler | Audioscrobbler REST Webサービスを使用するためのシンプルなAPI |
Zend_Service_Delicious | del.icio.usのXMLおよびJSON Webサービスを使用するためのシンプルなAPI |
Zend_Service_Flickr | Flickr のREST Web Serviceを使用するためのシンプルなAPI |
Zend_Service_Simpy | ソーシャルブックマークサービスであるSimpy用のフリーなREST APIの軽量なラッパー |
Zend_Service_StrikeIron | StrikeIron Webサービス用のPHP5クライアント |
Zend_Service_Yahoo | さまざまなYahoo! REST API群を使用するための単純なAPI |
Zend_Session | セッションデータ管理関連コンポーネント |
Zend_Translate | 多言語対応アプリケーションを作成するためのパッケージ |
Zend_Uri | URIsの操作および検証を行うためのコンポーネント |
Zend_Validate | 一般的に必要となるバリデータを提供 |
Zend_Version | Zend Framework のバージョン管理関連コンポーネント |
Zend_View | MVCパターンにおける 「ビュー」として働くクラス |
Zend_XmlRpc | XML-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 | 全体の制御 |
関連記事
- Live Commerceとは
- CakePHP、Symfony、Zend Frameworkの比較
- Zend_Authでは重複するID・パスワードに注意
- リダイレクトとフォワード
- クエリデバッグする方法
- 'Zend_Db_Statement_Exception' with message 'SQLSTATE[HY000]: General error' とは
- Zend_DBのSELECTメソッドのまとめ
- Zend_DBの基本
- Zend_Authによる認証 (ログインページを作る)
- Zend Frameworkのデータベース接続
- Smartyを利用する方法
- ビューヘルパー
- 環境を分ける方法
- ビュー(テンプレート)の基本
- アクションコントローラの基本
- アクションコントローラとビューの関係
- コマンドで雛形を作る CLIツール
- 推奨ディレクトリ構成
- 環境設定とインストール
- 最小版のファイル一覧
- ファイル一覧
- Live Commerce
- 基本的な特徴
- サーバ移行時の設定(パス設定を設置場所に依存しないようにする方法)
- インストール直後のディレクトリ構成
- パッケージのディレクトリ構成
- Zend Optimizerのインストール
- Live Commerceのインストール
スポンサーリンク