初心者も簡単ブログにコピペだけ!1クリック高単価7〜42円。登録無料最短1分でスタート。

zendframeworkの設定方法(ローカル開発環境)

MAC OSXでPHPなどのWEB開発をMAMPなどのapache,mysql,php環境を使って開発を行う方が多いと思いますが、今回はphpのフレームワークの設定をご紹介したいと思います。

今回は業務関連で使うWEBシステムの構築にあたり、zendframeworkを使用する事にしました。

今時cakephpとかsynfonyとかじゃないの?と思われる方もいるかもしれませんが、動作の軽快さとフレームワークから少し外れた事を追加する可能性があるので無難なzendframeworkにしました。

zendframeworkをダウンロードする。

下記よりダウンロードしてください。バージョンは最新の安定板でよろしいかと思います。

http://framework.zend.com

 

MAMPフォルダにコピーする

OSXにMAMPを入れるとアプリケーションフォルダ直下にMAMPフォルダがありますのでこの中にダウンロードしたzendframeworkフォルダをコピーします。

 

php.iniファイルの編集

MAMPで使用しているphpのバージョンconfフォルダ内のphp.iniを編集してinclude_pathを追加します。(デフォルトのパスは下記の通り)

/Applications/MAMP/conf/php/php****/php.ini

include_path=".:/Applications/MAMP/bin/php/php5.4.10/lib/php:ここにzendframeworkのlibraryまでのパスを追加する。"

これでzendframeworkのlibraryを使う事ができるようになります。

 

Apacheのhttpd.confの編集

phpのフレームワークの多くはdispacherとしてapacheのrewriteモジュールを使用してコントローラーやパラメーターの処理をしています。

なのでapacheのrewriteのコメントアウトをはずします。

パスは下記の通り

/Applications/MAMP/conf/apache/httpd.conf

コメントを解除するのは下記の文言

LoadModule rewrite_module modules/mod_rewrite.so

設定が終わったらMAMPを再起動しましょう。

 

htdocs内に開発用のディレクトリを作る

htdocs/

          /zend(名前はなんでもよ良い)

             /application

                            /controllers

                            /models

                            /views

                                      /scripts

 

 

zendフォルダ内に.htaccessを設置してすべてのアクセスをindex.phpに飛ばす。

application直下に.htaccessを設定し下記を記述。

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

 

index.phpを作ってフロントコントローラーの読み込み

application/直下にindex.phpを作成します。

内容は下記の通り

 <?php
require_once('Zend/Controller/Front.php');
Zend_Controller_Front::run('./application/controllers');
	

indexコントローラー作成

application/controllers直下にIndexController.phpを作り下記コードを記述。

<?php
require_once('Zend/Controller/Action.php');

class IndexController extends Zend_Controller_Action
{
	public function indexAction()
	{
		//ここにアクションの処理を記述
	}
}
	

Viewファイルの作成

application/views/scripts/index直下にindex.phtmlを作成。

内容は適当にhtmlファイルを作ってください。

 

<html>
<head>
<meta charset="utf=8">
<title>インデックス</title>
</head>
<body>
<h1>zendframework実験</h1>
</body>
</html>
	

http://localhost/zendを開いて確認する。

zendframework実験と表示されていれば正しく設定できています。

 

エラー時の処理を変更する。

application/controllersにErrorController.phpを作成し下記を記述

<?php
require_once('Zend/Controller/Action.php');

class ErrorController extends Zend_Controller_Action
{
    public function errorAction()
    {
    	$er=$this->getResponse()->getException();
		$msg="<h4>エラー。</h4>";
		foreach($er as $error)
		{
			$msg.="<div>".$error->getMessage()."</div>";
		}
		$this->view->assign('errors',$msg);
    }
	public function __call($action,$arg)
	{
		$this->render('error');
	}
}

 

エラー用のビューを作成する。

application/views/scripts/error直下にerror.phtmlを作成し下記を記述。

<html>
<head>
<meta charset="utf=8">
<title>インデックス</title>
</head>
<body>
<h3>Error</h3>
<?=$this->errors?> 

 

以上で設定は終了です。

勘のよい方は上記のcontrollerとviewの記述で築いたかもしれませんが、コントローラーでviewやmodelなどの呼び出しなどを制御しています。

MVCのアプリケーション開発では重要な考え方です。

ダイレクト特集ページ用バナー(ダウンロード版)

初心者も簡単ブログにコピペだけ!1クリック高単価7〜42円。登録無料最短1分でスタート。