プロジェクトZendCake ~構造編~

2週間に一度の更新を目標にしております。Rrです。

最初ということなので、スキームを作っていこうと思います。

ちゃっちゃかやっていきます♪

確認のために、現在の構想を記します。
前回のブログとはちょっと違ってます(笑

-----------------構造------------------------
├app
    ├ controllers(コントローラー類)
        └ compornents (コンポーネント)
    ├ models(モデル)
    └ views(ビュー関連)
        ├ elements(ビュー部品)
        ├ filters(フィルター)
        ├ helpers(ヘルパー)
        ├ scripts
            └コントローラ名
               └ビュー
        └ templates(テンプレート)
├ lib(ZEND本体)
├ index.php(スタータ)
├ templates_c(Smartyキャッシュ)
└ .htaccess

-----------------構造------------------------

先ず、libフォルダを作成して、その中にZENDを放り込みましょう。
次に、他のフォルダを作成して、準備完了です。

では、スタータを作成していきましょう。

index.php
ini_set('include_path', ini_get('include_path') . ';'. getcwd() . '/lib');

require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('./app/controllers');

こんな感じです。
1行目はlibフォルダからZENDをインクルードパスに登録しております。
php.iniにインクルードパスを通せる方はそれでもかまいません。

また、4行目は「app/controllers」から指定されたコントローラを読み出す記述です。

次に、.htaccessを設定していきます。

.htaccess

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


mod_rewriteを利用し、画像ファイルやスタイルシートなどでなければ、すべてスタータを参照するよう設定します。
(もちろんサーバにてmod_rewriteが利用できるようにしなければなりません。)


これで、「http://~~/コントローラ名/アクション名」(~~は自分の環境に合わせて設定してください。)
にアクセスすることで、任意のコントローラのアクションが実行できます。
これで、一通り構造は出来たことになります。

でも、これだけじゃ簡単すぎて、なにか物足りないですよね。

では、コントローラとビューも作成していきましょう♪


app/controllers/IndexController.php
require_once 'Zend/Controller/Action.php';

class IndexController extends Zend_Controller_Action{

	public function indexAction()
	{		
	}
}

何も処理しないコントローラーです。
役に立たないですね(笑
一行目にて、ZENDのコントローラの核となるAction.phpを読み込んでいます。

それから、Zend_Controller_Actionを継承し、IndexControllerクラスを作成します。

この記述はZEND Frameworkでは基本的な記述となりますので、覚えておいて損はないでしょう

IndexControllerは「http://~~/」のように、コントローラを指定しないでアクセスされた場合に処理の対象となります。


次にビューの作成に入ります。
app/views/scripts/index/index.phtml
	

サンプルページ作成♪


本当に簡単なHTMLです。(汗

ZENDの場合、デフォルトでスタータで指定したコントローラから見て「../views/scripts/コントローラ名/アクション.phtml」をビューとして扱います。

ですので、これで「http://~~/」にアクセスすれば、index.phtmlに書いたとおりのHTMLが出力されます。

今回はこれで終わりです。

次回は、Smartyを動かせるようにしたいと思います。

では、また来週!!(もしくは再来週)

トラックバック(0)

このブログ記事を参照しているブログ一覧: プロジェクトZendCake ~構造編~

このブログ記事に対するトラックバックURL: http://coldspice.net/mt/mt-tb.cgi/12

コメントする

2008年7月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Powered by Movable Type 4.1

プロフィール

名前:Rr(ラール)

色んな技術に手を出しているへっぽこプログラマ
得意なプログラム言語はJavaだが、最近はめっぽうPHPにはまっている。