Zend Framework を使ってみる

php framework

  • 掲示板
  • サンプル
  • 使い方
  • ダウンロード
  • Home

概要 | Tips(やりたいこと別 使い方ガイド)

Zend Framework の使い方

公式のドキュメントにあるものを見たい方は
このあたり(リファレンス 10.1. Zend_Controller クイックスタート)
を見てみるとよいでしょう。

英語でもいいよって方は、
このあたり(Zend Framework Quick Start)
もよいと思います。

では、かいつまんで解説

(適当に、公式サイトの日本語訳も混ぜながら。)

Zend Framework はオープンソースのオブジェクト指向Webアプリケーションフレームワークです。 php5用です。 各コンポーネントがなるべく依存しあわないように作ってあるので、ライブラリ的にも使えますが、いい感じにMVCできるようにもなっています。 Zend_Controller, Zend_Layout, Zend_Config, Zend_Db, Zend_Db_Table, Zend_Registry あたりはよく使われます。 使わないコンポーネントもいっぱいあります。

Zend Framework の Zend_Controller_Front は フロントコントローラ パターンを実装しています。 Zend オススメの形で利用すれば、よくあるフロントコントローラ パターンのWebプログラミングができます。

フロントコントローラ パターンでは、すべてのリクエストをいったんフロントコントローラで受け取った上でその URL にもとづいたアクションコントローラに配送します。 フロントコントローラ パターンとは違う考え方に、ページコントローラ パターンというものもあります。

どんな動きをするの?

下記のようなURLにアクセスすると

http://example.com/aaa/bbb

aaa コントローラの bbb アクションが呼び出されます(デフォルトのルーティングでは)。

下記のようなURLにアクセスすると

http://example.com/cccc/dddd/id/123

cccc コントローラの dddd アクションが呼び出されます。パラメータとして、'id' => '123' が渡されます。

最初がコントローラ名、2番目がアクション名、3番目以降は、/パラメータのキー/パラメータの値 の繰り返しです。ご存知の方にはおなじみのパターンです。

デフォルトのルーティング(URLとモジュール、コントローラ、アクションへの振り分けルール)が気に入らなければ、 好きなルールを適用できます。説明はまたあとで。

例)
http://example.com/item/123
→ item コントローラで 商品番号 =>123 として処理したい。

http://example.com/archive/2012/12/12
→ archive コントローラ の list アクションで
   2012年12月12日の記事一覧を表示するようにしたい。
			

デフォルトのルーティングでは困る理由として、 SEO対策の面で無駄に深い階層に見えるのがイヤなどの問題があります。 気になるならいろいろと設定可能ですし、 潔くデフォルトのルールに従ってしまえばある意味すっきり単純に作成していけます。

インストール

phpスクリプトですから、Webサーバに置くだけです。

環境は整えておいてあげたほうがよいです。

php5が使えること
php5用ですから。php4ならあきらめるしかありません。
mod_rewriteが使えること
必須ではありませんが、使えたほうがいいです。リファレンスなどの説明にもついていきやすいです。

作る

フレームワークだけで何かできるわけではありません。 フレームワークを利用して動作するもの(アプリケーション)は自分で作ります。

というわけで、下記のような構成でディレクトリを作り、ファイルを置き、中身を書きます。 リファレンスの中や英語の Quick Start に書いてあるんですけど、慣れない方にはとっつきにくいですよね。

サンプル(基本形)ダウンロードどうぞ。

liblary/
    Zend/
        (ダウンロードした Zend Framework をここに置きます)

application/
    config/
        app.ini
    controllers/
        IndexController.php
    models/
        (とりあえず空っぽ)
    layouts/
        scripts/
            layout.phtml
    views/
        scripts/
            index/
                index.phtml
    bootstrap.php

html/
    css/
        style.css
    image/
        logo.gif
        (他、必要な画像ファイル)
    js/
        sample.js
    .htaccess
    index.php
			

サンプル(基本形)ダウンロードどうぞ。

上図の html/ のところは、 public_html/ , www/ , htdocs/ などのほうがしっくりくる方もいるでしょう。 慣れの問題だったり、環境の問題だったりしますね。 このフォルダ名の変更は特に問題ありません。

画像、スタイルシート、Javascriptなどまでphpで出力するのもありですが、 普通は静的なファイルをおく場合が多いと思うので、そのようにしています。

動かす

Webサーバのドキュメントルート以下の好きな場所に置けば動きます。

もっと作る

使い方ページも増やしていくつもりですが、とりあえずサンプルのページのサンプルを見て挑戦してみてください。

→ サンプル

→ Tips(やりたいこと別 使い方ガイド)

Δ ページの上へ

ホーム | その他のページ | このサイトについて | サイトマップ

ZendFramework を使ってみる 2008