Zend Frameworkを用いたアプリケーション作成について
前回まで、Zend Frameworkを利用するための準備を行いました。今回はZend_Controllerコンポーネントを核とするZend FrameworkのMVCを利用して、「Hello World!」アプリケーションの作成を行います。
前回も触れましたがZend Frameworkは他のフレームワークに比べ、はるかに構造がシンプルで、前回の動作確認のコードのように断片的に使用できますし、Smartyなど他のライブラリとの併用も可能です。Zend Frameworkの中心とも言えるMVCですら、その中のとあるコンポーネントとして提供されていて、使用しなければ使用しないで済みます。ですがそれでは宝の持ち腐れですし、活用する意味も大きく限定されてしまいますので、ここからはZend FrameworkのMVCを活用することを前提に解説をしていきます。
「Hello World!」アプリケーションの作成(概要)
Zend FrameworkのMVCを活用して、ごく簡単なアプリケーションを作成していきます。
基本的なリクエスト処理についてのおさらい
第1回のコラムで触れましたが、ここでZend FrameworkのMVCを活用する際に出てくる用語についてもう一度簡単に見ておきましょう。関連する用語を以下に示しておきます。
用語 | 意味 |
フロントコントローラ | MVCのCに値する部分の総元締めで、すべてのリクエストをまず受けつける |
アクションコントローラ | 実際にリクエストに対する必要な処理を実行する |
アクション | リクエストに対してアクションコントローラが行う処理 |
ルーティング | リクエストの内容を判断して受け渡し先を決定する処理のこと |
ディスパッチ | アクションコントローラに以後の処理を受け渡すこと |
すべてのリクエストはまず「フロントコントローラ」である「index.php」に受けつけられます。そしてそこで必要となる処理が判断されると、該当する「アクションコントローラ」が決定され、以後の処理が受け渡されるのでした。
Zend Frameworkで作るwebアプリケーションの構造について
実際にアプリケーションを作成する前に、Zend Frameworkで作成するアプリケーションがどのような構造になっているのかをざっと見ておきましょう。
application/ (アプリケーションを配置するフォルダ。非公開) models/ (MVCのModelに対応するファイルを配置するフォルダ) views/ (MVCのViewに対応するファイルを配置するフォルダ) controllers/ (MVCのControllerに対応するファイルを配置するフォルダ) html/ (フロントコントローラを配置する公開フォルダ) index.php .htaccess
アプリケーションは基本的に外部からアクセスされないapplicationフォルダに配置します。そして公開フォルダにはフロントコントローラとなる「index.php」(と「.htaccess」)を配置します。こうすることでアプリケーションファイル群が直接アクセスされることはなくなり、セキュリティ面で有利になります。
「application」「html」のフォルダ名は任意です。本稿では両者を「C:\codezine」フォルダ以下に
zendapps/ (アプリケーション配置フォルダ) htdocs/ (公開フォルダ)
として配置しています。