ZendFramework
オープンソースカンファレンス zf-users
発表してきた。
発表とか初めてだったのに45分とかw
録画したやつ見直すと声が若干聞き取りにくいから今度は気をつけよう。
Osc2009 Spring zf-users
View more presentations from wozozo.
by m-takagi & lllnorikolll
;゙゚’ω゚’):
ZendFramework1.6 Released! そしてコマンドライン!!
やっときた zf コマンド!!
%zf create project
キタ(゚∀゚)ッ!!
とりあえずQuickStartをやってみる。
http://framework.zend.com/download/latest
ここから、1.6-full のやつを落としてきます。mini には コマンドラインのライブラリが入ってません。
include_pathに library/Zend を設置。
で今回のメインのコマンドラインは Zend_Tool という名前で これは library/Zend には入ってない。
laboratory/Zend_Tool にあります。
これはinclude_pathじゃなくてもいいです。好きなところに。
さぁ設定。
Zend_Tool/bin/zf.php を開いて、最初にある変数2つを自分の環境に合わせて書き換える。
$zendFrameworkPath = ‘/Users/wozozo/Sites/private/ZendFramework-1.6.0/library’;
$zendFrameworkLabPath = ‘/Users/wozozo/Sites/private/ZendFramework-1.6.0/laboratory/Zend_Tool/library’;
自分の場合だとこんな感じ。これでZend_Tool の設定は終わり。
あとはシンボリックリンクを張る。
mkdir ~/bin
ln -s /Users/wozozo/Sites/private/ZendFramework-1.6.0/laboratory/Zend_Tool/bin/zf.sh ~/bin/zf
chmod 755 ~/bin/zf
~/bin にパスを通しておくと便利。 自分は .zshrc に
export PATH=~/bin/:$PATH
設定終了!
/Users/wozozo% zf show version
Zend Framework Version: 1.6.0
おおお!
バージョンなんかどうでもいいのでとっととプロジェクトを作ってみる。
mkdir zfprj-test
cd zfprj-test
/Users/wozozo/zfprj-test% zf create project
creating project at /Users/wozozo/zfprj-test
/Users/wozozo/zfprj-test% ls -la
total 8
drwxr-xr-x [...]
ZendFrameworkのマニュアルを検索するコツてきなやつ (Ubiquity)
zfマニュアルにある検索ボックス
これがびっくりするぐらいアホ。
で結局Googleさんにお願いすることになるので、じゃあマニュアルをGoogleで検索すりゃいいじゃんってなるので、
Ubiquityでコマンドを。
makeSearchCommand({
name: “zf”,
url: “http://www.google.co.jp/search?client=safari&rls=en-us&q=site:framework.zend.com/manual/ja {QUERY}&ie=UTF-8&oe=UTF-8″,
icon: “http://framework.zend.com/favicon.ico”,
description: “Search ZendFramework Manual (ja)”,
});
ZendFrameworkをFirePHPでSQLデバッグ
zf1.6でfirephpに対応します。
Firebug へのログ出力のために Zend_Log_Writer_Firebug コンポーネントを提供しています。通信プロトコルは HTTP リクエストヘッダとレスポンスヘッダを使用し、 これによってサーバとクライアントコンポーネントの間の通信を行っています。 ページのコンテンツに何も手を加えなくても、 スクリプト実行時に生成したさまざまなデータをブラウザ側で記録できるのです。 この方式なら、AJAX リクエストのようにクリーンな JSON および XML レスポンスを要求するリクエストのデバッグも行えます。
firefox3 + firephp最新版推奨。
たぶん今現在(2008/08/31)、firephpの “Next Release Preview” ってやつでしか動かない。
http://www.firephp.org/
“Firefox Extension 0.1.1.2 (Aug 25, 2008) ”
エラーが出たらたぶんzfのせいじゃなくて firephp のバージョンアップのせいだとおもわれ
firephpに色々流せるみたいだけど一番気になるのは、Zend_Db_Profiler_Firebug。
firebugのコンソールに発行したSQLを全部表示できます。
設定はFrontControllerでやってしまうのが手っ取り早い。
$profiler = new Zend_Db_Profiler_Firebug(‘All DB Queries’);
$profiler->setEnabled(true);
$db->setProfiler($profiler);
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(Zend_Wildfire_Channel_HttpHeaders::getInstance());
こうすると、
firebugのコンソールにこんなのが表示されます。
あー便利。
Zend_LoaderはPEARにも使える
ZendFrameworkのコンポーネントの1つ、Zend_LoaderはSPLのautoloadを実装したものです。
PHPファイルの頭で、
< ?php
require_once ‘Hoge/Fuga/Uhya.php’;
require_once ‘Unko/Chinko/Pantsu.php’;
require_once ‘PEAR/Something/Ahya.php’;
っていうふうに ファイルを1個ずつ呼び出して行くのはめんどくさ過ぎなので autoload を使う。
require_once を書く代わりに、
< ?php
require_once ‘Zend/Loader.php’;
Zend_Loader::registerAutoload();
って書いておけば、もう命名規則に沿っている限り require_once はもう書かなくて良い。
Zend_Loaderは中で、アンダーバーに 「 _ 」をスラッシュ「 / 」 に置き換えて他のファイルを読む込む必要がでてきたときに勝手にインクルードしてくれる。
< ?php
require_once ‘Zend/Loader.php’;
Zend_Loader::registerAutoload();
$dh = Date_Holidays::factory(‘Japan’, 2008, ‘ja_JP’);
$date = new Date_Holidays();
とりあえずPEARは全部命名規則通りだったと思うので、もうrequire_once イラネ。