忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/11/22 16:45 |
ZF1.11:Zend_Controller
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を呼び出すだけです。
<?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


2011/11/11 21:25 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<Minecraft 1.8.1 BuildCraft2.2.5 + EquivalentExchange5.4.3 メビウス燃料無限増殖装置 | HOME | Minecraft 1.8.1 MOD紹介 SimpleGuns v1.0>>
忍者ブログ[PR]