開発者さんのところからダウンロードしてくると、使えることは使えるんですが2ヶ所NOTICEが出ます。リリースしちゃえば(prodにしちゃえば)気にならないことなんですが、symfonyでdev版で開発してるとどうしても気になるので2ヶ所直して使っています。
■126行目で$dimsは未設定の変数というNOTICE
見てみると
$dims .= $dimension->getAttribute('value');
どうやら1回目のループ実行時はまだ未設定の変数に対して.=を行うことになるのでNOTICEになる模様。
ループの前に$dims = '';と1行足して解決。
■251行目でArray to String convertionのNOTICE
見てみると
250 $header[] = array("application/x-www-form-urlencoded");
251 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
となっていた。
curl_setoptのマニュアルを見るに第3引数は配列を渡せばいいらしい。
ちゃんと$headerは配列になっているが、$header配列の値自体がarray("application/x-www-form-urlencoded")と配列になってしまっている。
curl関数使ったことないので(汗)詳しいことはわからないが、配列がstringとして評価されてNOTICEが出てるってことなので、$header = array(...)のarray関数を外してみた。
250 $header[] = "application/x-www-form-urlencoded";
251 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
正直curl関数はまだよくわからないがこれでテスト実行してみてエラー出ず、開発サーバーで実行して見て画面からNOTICEも消えたので良しとする(笑)
後で
gapi.class.phpも試してみたい。どっちもPHP5なオブジェクト指向で書かれたlibですが、GoogleAnalyticsの公式に載っているのがgapi.class.phpのほうなので。