2011年6月29日水曜日

GreeのPepleAPIのサンプル

GreeのPepleAPIのサンプルに
PECL HttpRequest
つかってるって描いてるけど
実はPEAR HTTP_Requestだと思うんだ。

Pecl HTTP インストール メモ

pecl install pecl_http

checking for curl/curl.h... not found
configure: error: could not find curl/curl.h
ERROR: `/var/tmp/pecl_http/configure --with-http-curl-requests --with-http-zlib-compression --with-http-magic-mime=no --with-http-shared-deps' failed
とかでて失敗。


yum search curl
curl.i386 : 数量の単位換算ユーティリティ
curl-devel.i386 : libuser アプリケーションの開発に必要なファイル
python-pycurl.i386 : A Python interface to libcurl

とでたので
yum install curl-devel
としてから再度挑戦したらいけました。
vi  /etc/php.d/http.ini
extension=http.so
を作成してApache再起動しておわり。

2011年6月27日月曜日

Zend_Db_Adapter 結果セットからの キー/値 のペアの取得 fetchPairs()

結果セットからの キー/値 のペアの取得

fetchPairs() メソッドは、データを キー/値 のペア (連想配列) の配列で返します。 この連想配列のキーは、 SELECT クエリが返す最初のカラムの値となります。 また、連想配列の値は、 SELECT クエリが返す二番目のカラムの値となります。 クエリから返されるその他のカラムは破棄されます。
SELECT クエリをうまく設計し、最初のカラムの値が一意になるようにしなければなりません。 もし最初のカラムに重複する値があれば、連想配列のエントリが上書きされてしまいます。 

count()
varに含まれる要素の数を返します。 他のものには、1つの要素しかありませんので、通常 var は配列です。
もし var が配列もしくは Countable インターフェースを実装したオブジェクトではない場合、 1 が返されます。 ひとつ例外があり、varNULL の場合、 0 が返されます。 

array_rand
注意: PHP 4.2.0 以降、 srand() または mt_srand() によりランダム数生成器にシードを与える必要はありません。 これは、この処理が自動的に行われるためです。

2011年6月23日木曜日

loggerの使い方

自分用メモです。
loggerの使い方
どちらでもおすきにどうぞ。
App::getLogger()->log(Zend_Debug::dump($quantity,"quantity<br />"),Zend_Log::ERR);
App::getLogger()->log(print_r($quantity,true),Zend_Log::ERR);

Zend_LogのFirebugのコンソールへの出力について

 Zend_LogのFirebugのコンソールへの出力ができねぇ。できねぇ。と思ってたら
あれはhttpheaderを使ってるからGreeを介してたら使えねーわけだな!?
はっは~ん。してやられたぜww

Zend Framework-Zend_Log Zend_Debug Zend_Db_Profilerの使いどころ?

例外発生時などに
Zend_Log
http://www.4web8.com/2105.html 
http://framework.zend.com/manual/1.11/ja/zend.log.writers.html
  1. $writer = new Zend_Log_Writer_Stream('/path/to/logfile');
  2. $logger = new Zend_Log($writer);
  3. $logger->info('Informational message');
Zend_Log_Writer_Db は、 Zend_Db を使用してログ情報をデータベースに書き出します。 
Zend_Log_Writer_Firebug は、ログデータを » Firebug » コンソール に送信します。
Zend_Exception のログを記録するには、 単にその例外オブジェクトをロガーに渡すだけです。
Zend_Log_Writer_Mail は、 Zend_Mail を使ってログエントリをメールのメッセージに書き出します。
Zend_Log_Writer_Syslogは、 システムログ (syslog) にログ項目を書きます。


開発中のデバッグに
Zend_Debug
http://framework.zend.com/manual/ja/zend.debug.dumping.html

Zend_Db_Profiler
http://framework.zend.com/manual/1.11/ja/zend.db.profiler.html
  1. $profiler = $db->getProfiler();
これは、Zend_Db_Profiler オブジェクトのインスタンスを返します。 このインスタンスのさまざまなメソッドを使用することで、 クエリの内容を調べることができます。
  • getTotalNumQueries() は、 情報を取得したクエリの総数を返します。
  • getTotalElapsedSecs() は、 情報を取得したクエリの実行所要時間の合計を返します。
  • getQueryProfiles() は、 すべてのクエリ情報を配列で返します。
  • getLastQueryProfile() は、最後に (直近に) 実行されたクエリの情報を (そのクエリが 完了したか否かにかかわらず) 返します (クエリが完了していない場合は、終了時刻が NULL となります)。
  • clear() は、スタック上に残っている 過去のクエリ情報をすべて消去します。
getLastQueryProfile() の返り値、および getQueryProfiles() の個々の要素は Zend_Db_Profiler_Query オブジェクトで、 これを使用すると個々のクエリ自体の情報を調べられます。
  • getQuery() は、クエリの SQL テキストを返します。 パラメータつきのプリペアドステートメントの場合、 クエリがプリペアされた時点のテキストを返します。 つまり、プレースホルダを含んだままの形式ということです。 実行時に置き換えられた値を知ることはできません。
  • getQueryParams() は、 プリペアドクエリを実行する際に使用する、パラメータの値の配列を返します。 ここには、バインドパラメータだけでなく execute() メソッドへの引数も含まれます。 配列のキーは、(1 から始まる) 数値かあるいは (文字列の) パラメータ名となります。
  • getElapsedSecs() は、 クエリの実行所要時間を返します。
Zend_Db_Profiler の提供する情報は、 アプリケーションのボトルネックを調査したり クエリをデバッグしたりする場合に有用です。