ZendフレームワークはPearライブラリのように使うのが便利すぎて忘れてしまいますが、実はその本分はフレームワークです。
ということでフレームワークとして使ってみようと思いましたが、なんたることか公式マニュアルが和訳されていません。
仕方ないのでZend_Controllerあたりからちまちまと見て行きます。
とりあえずアップグレードを確認。
> pear channel-discover pear.zfcampus.org
> pear install zfcampus/zf
バーチャルホストを設定。
ついでにmod_rewriteがコメントアウトされている場合はコメントを外す。
LoadModule rewrite_module modules/mod_rewrite.so
<VirtualHost *:80>
ServerName zend.localhost
DocumentRoot "C:\hoge\fuga\html"
<Directory "C:\hoge\fuga\html">
AllowOverride All
</Directory>
</VirtualHost>
C:\hoge\fuga\以下に以下のようなディレクトリとファイルを作成。
application/
│ ├controllers/
│ │ └IndexController.php
│ ├models/
│ └views/
│ └scripts/
│ └index/
│ └index.phtml
└html/
├.htaccess
└index.php
hostsに以下の1行を追加。
127.0.0.1 zend.localhost
これで、
http://zend.localhost/
でC:\hoge\fuga\html\index.phpが表示されるようになります。
次にhtaccessを記述。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
これで、存在しないファイル、ディレクトリにアクセスした際はindex.phpが呼ばれるようになります。
html/index.phpはZend_Controllerを呼び出すだけです。
application/views/scripts/index/index.phtmlを記述。
さて、最低限の実装は以上で完成です。
http://zend.localhost/index/indexを開いてみると、見事にHello, World!が表示されました。
ということでフレームワークとして使ってみようと思いましたが、なんたることか公式マニュアルが和訳されていません。
仕方ないのでZend_Controllerあたりからちまちまと見て行きます。
とりあえずアップグレードを確認。
> pear channel-discover pear.zfcampus.org
> pear install zfcampus/zf
バーチャルホストを設定。
ついでにmod_rewriteがコメントアウトされている場合はコメントを外す。
LoadModule rewrite_module modules/mod_rewrite.so
<VirtualHost *:80>
ServerName zend.localhost
DocumentRoot "C:\hoge\fuga\html"
<Directory "C:\hoge\fuga\html">
AllowOverride All
</Directory>
</VirtualHost>
C:\hoge\fuga\以下に以下のようなディレクトリとファイルを作成。
application/
│ ├controllers/
│ │ └IndexController.php
│ ├models/
│ └views/
│ └scripts/
│ └index/
│ └index.phtml
└html/
├.htaccess
└index.php
hostsに以下の1行を追加。
127.0.0.1 zend.localhost
これで、
http://zend.localhost/
でC:\hoge\fuga\html\index.phpが表示されるようになります。
次にhtaccessを記述。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
これで、存在しないファイル、ディレクトリにアクセスした際はindex.phpが呼ばれるようになります。
html/index.phpはZend_Controllerを呼び出すだけです。
<?php require_once('Zend/Controller/Front.php'); Zend_Controller_Front::run(dirname(__FILE__).'/../application/controllers');application/controllers/IndexController.phpはとりあえずダミー。
<?php class IndexController extends Zend_Controller_Action{ public function indexAction(){} }デフォルトではIndexController::indexAction()のあと自動的にindex.phtmlというテンプレートを呼び出すようになっています。
application/views/scripts/index/index.phtmlを記述。
<html><body>Hello, World!</body></html>DOCTYPEとかtitleとかは後で付け足しゃいいんだよ。
さて、最低限の実装は以上で完成です。
http://zend.localhost/index/indexを開いてみると、見事にHello, World!が表示されました。
PR
トラックバック
トラックバックURL: