仕事でZend Framework + Smartyが必要になってくるので、環境を整えてみました。
その際の手順をメモ。
僕の端末にはXAMPPが入っているため、PHPの動作環境は一通り揃っていました。
ダウンロードしたファイルを解凍して好きな場所に配置
php.iniのinclude_pathパラメータに以下のようにパスを追記(僕の環境の場合PEARのパスが既に入っているので、後ろに追記しました。)
include_path = ".;C:xamppphpPEAR;C:[配置したディレクトリ]ZendFramework-1.10.4library"
次にApache側の環境設定
httpd.conf内のmod_rewriteモジュールを有効にする。(XAMPP入れたときにデフォルトで有効でした。)
LoadModule rewrite_module modules/mod_rewrite.so
さらに、ドキュメントフォルダ内の.htaccessの設定を有効にする。(こちらもXAMPP入れたときにデフォルトで有効でした。)
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks Includes ExecCGI
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
.htaccessの設定
RewriteEngine on
RewriteBase /zendtest
RewriteRule !.(js|ico|gif|jpg|png|css)$ index.php
RewriteBaseは各々の環境に合わせてください。
ちなみに、RewriteRuleの記述の意味は「js、ico、gif、jpg、png、css」以外の名前のパスを全て、index.phpに飛ばすと言うことです。
index.phpをフロントコントローラにする為に記述しています。
ここで、動作確認の為に新しいプロジェクトを作って、Zendのバージョン情報を確認しようとしたところ、
自分がダウンロードしたバージョンと違うバージョンが出力されるという問題が発生しました。
【実行コード】
<?php
require_once 'Zend/Version.php';
echo 'バージョン情報 : ' . Zend_Version::VERSION;
調べたところ、PEARの中にもデフォルトでZendが入っており、include_pathの順番的に先に読み込まれているようでした。
なので、PEAR内のZendディレクトリを一先ず退避させました。
さて、ここまででZend Frameworkの設定が完了です。
次はSmarty
Zend Framework上でSmartyを使用するために下記のサイトに書かれていることを行いました。
SmartyとZend Framework
これでようやく環境が整いました。
最後が投げやりですって? ・・・すみません。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。