SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Zend Framework入門

Zend Framework入門(1):フレームワークの全体像とインストール

Zend Frameworkによる実践的なPHPアプリケーション開発


  • X ポスト
  • このエントリーをはてなブックマークに追加

Zend Frameworkをインストールしてみよう(環境構築/設定)

 では早速、インストールしてみましょう。インストールとはいえ特に難しい手順は不要で、ひとことで言えば「ダウンロードしたZend Frameworkのクラス群にパスを通す」だけです。

1. Zend Frameworkをダウンロードする

 本家サイトから、「Latest Release」をダウンロードします。2007年10月30日現在、バージョンは1.0.2です。ファイル形式はzipとtar.gzの2タイプから選べますが、今回はWindowsを例にインストールを行いますのでzip形式の方をダウンロードします。

Zend Frameworkダウンロード
Zend Frameworkダウンロード

2. ファイルを展開する

 ダウンロードしたファイルを展開します。次のようなファイル構成になっているはずです。

ZendFramework-1.0.2/
ZendFramework-1.0.2/demos/
ZendFramework-1.0.2/demos/Zend/
ZendFramework-1.0.2/VERSION.txt
ZendFramework-1.0.2/INSTALL.txt
ZendFramework-1.0.2/README.txt
ZendFramework-1.0.2/tests/
ZendFramework-1.0.2/library/
ZendFramework-1.0.2/library/Zend/
ZendFramework-1.0.2/NEWS.txt
ZendFramework-1.0.2/LICENSE.txt
          :
          :
          :

 この展開によって配置されるZend Frameworkのフォルダ群は、次のとおりになっています。

インストールされたZend Frameworkのフォルダ構造
フォルダ内容
libraryZend Frameworkの各種コンポーネント
demosデモンストレーション用コード
tests各コンポーネントのテスト用コード

3. ライブラリへのパスを設定する

 php.iniのinclude_pathパラメータに、Zend Frameworkのlibraryフォルダへのパスを追記します(下記は展開先が「C:\Zend Framework-1.0.2」の場合)。

...
include_path = "...;C:\Zend Framework-1.0.2\library\"
...

4. Zend Framework動作のためのApache側の環境設定を行う(httpd.conf/.htaccess)

 Zend Frameworkでは、URL変換にmod_rewriteモジュールを使用しています。httpd.conf内の以下の記述のコメントを外してください。

...
LoadModule rewrite_module modules/mod_rewrite.so
...

 さらに、後述するドキュメントフォルダ内の.htaccessの設定を有効にするため、以下を追記します。

<Directory "C:/~/htdocs">
    AllowOverride All
</Directory>

 また、ドキュメントフォルダに配置する.htaccessには、「index.php」をフロントコントローラ(コラム参照)とするために、次のような設定を記述します。

RewriteEngine on
RewriteBase /
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

 これで、cssファイルやgifファイルといったリソース以外のリクエストは、すべてフロントコントローラ「index.php」に渡されるようになります。index.phpをルートに配置しない場合には、RewriteBaseの行でベースとなるURLパスを明示的に指定し(例えばindex.phpを「C:/~/htdocs/zf」以下に配置するなら「RewriteBase /zf」とする)、.htaccessもindex.phpと同じフォルダに配置します。

フロントコントローラとリクエストの処理
 Zend FrameworkのMVC機能では、symfonyなど他のPHPのMVCフレームワーク同様にドキュメントフォルダにある「index.php」が、まずすべてのリクエストを受け付けています。この「index.php」は「フロントコントローラ」と言い、MVCのCに値する部分の総元締めと言うべき存在です。そこで必要となる処理が判断され、該当する「アクションコントローラ」に以後の処理が受け渡されます。アクションコントローラとは、実際にリクエストに対する必要な処理(アクション)を実行する存在です。
 また、リクエストの内容を判断して受け渡し先を決定する処理を「ルーティング」、実際の受け渡しを「ディスパッチ」と言います。
リクエスト処理の大まかな流れ
リクエスト処理の大まかな流れ
 以上が、Zend FrameworkのMVCでのCの部分(Zend_Controllerコンポーネント)における、リクエスト処理の大まかな流れです。これらについては、改めて本連載「Zend_Controller」についての回で解説する予定です。

次のページ
まとめ

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Zend Framework入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 川北 季(カワキタ ミノル)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1824 2008/02/06 19:04

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング