使い出し

install

include_pathに通っている所に置くだけ。コマンドを叩くならパスを通す事。

debianの場合はzendframeworkというパッケージがあるのでいれるだけ。zfコマンドが使いたいならやはりzendframework-binをも入れる。

現状は1.11.11を何がなんでも入れておいた方がいい。squeezeだと入るバージョンが古いのでtesting以降のパッケージを無理矢理ぶち込むとかもアリ(purePHPなのでシステム的な依存はほとんど発生しない)

オフィシャルから取ってくるのはちょいと面倒なんだよね

% wget http://framework.zend.com/releases/ZendFramework-1.11.11/ZendFramework-1.11.11.tar.gz

ざーっと作る

いつも忘れがちになるので、、、とりあえずプロジェクトを始めたい場合は以下のようにする。

% zf create project プロジェクト名

プロジェクト名の下にバラバラとディレクトリが出来ているが、publicにアクセスすればとりあえずは何か見えるはず。

さらにレイアウトを有効にしとく。これはもうデフォルトで有効にしてもらった方がいいんじゃないかというレベルだが…

プロジェクトの下にcdした後

% zf enable layout

レイアウトファイルはapplication/layouts/scripts/layout.phtmlだからね

あとconfigに

resources.view[] =

とか、とにかく書いておく。

DB繋ぐ

Mysqlとかの場合、最低限DB(器)とuserとパスワードくらいは用意しておく

zf configure db-adapter "adapter=Pdo_Mysql&username=uname&password=mypass&dbname=mydb&charset=utf8"

うーむ、手書きした方が楽かも….

適当にconfigに追記されるだけ

+resources.db.adapter = "Pdo_Mysql"
+resources.db.params.username = "uname"
+resources.db.params.password = "mypass"
+resources.db.params.dbname = "mydb"
+resources.db.params.charset = "utf8"

Bootstrapで繋ぐ何かを書きこむ場合、こんな感じでやってます(やり方は特に決まってないので…)

    protected function _initDb()
    {
        // {{{
        $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini');
        $db = Zend_Db::factory($config->production->resources->db);
        // $db->getConnection();
        Zend_Registry::set('db', $db);
        // }}}
    }

getConnectionするといきなり繋ぐ。exceptionを拾いたい場合はtryブロックをどうぞ

CRUD

これといった決まりはない。。同じメソッドで受けるのであれば$this→getRequest()→isPost()などで切り分けて、適当な処理を書くとかがいいのかな。失敗したらexceptionでも投げこんでおいてcatchしてエラーを表示とかいう仕組みでもいいかなと。

フォームに関してはなんか作ってくれる奴があるらしいのだが、基本的にそういうのがあんまり好きじゃないので描画しちゃうんだよね。、

zendframework/zend_init.txt · 最終更新: 2012/04/15 18:54 by admin
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0