- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Fatal error: Uncaught exception 'Ze)
Fatal error: Uncaught exception 'Ze
このQ&Aのポイント
- Fatal error: Uncaught exception 'Zend_Gdata_App_InvalidArgumentException' with message 'You must specify the location as either a string URI or a child of Zend_Gdata_Query'
- キャッシュディレクトリの中身を確認したところ、キャッシュ自体はできているようなのですが、キャッシュされたファイルを読み込む際には、何か特殊な処理をしなければいけないのでしょうか?
- エラー内容を見て、ピンとくる方がもしいれば、アドバイスをよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Zend_Gdataを斜めに読んでみたところ、どうも、URI以外読めないようですね。 ですので、Cache_Liteを使って保存したローカルにあるXMLファイルが読めないのではないでしょうか。 と、言う事情で、serialize関数を用いて、オブジェクトそのものをシリアライズして保存、復元をしてみてはいかがでしょう。 //参考URLで貼ってもらったサイトのCache_Liteを参考にして。 if($data = $Cache_Lite->get($cacheId)){ //有効なキャッシュがある場合の処理 //キャッシュデータを変数にセット $result = unserialize($data); //シリアライズされたオブジェクトを復元。 }else{ //有効なキャッシュがない場合の処理 //APIリクエストする //リクエストするのはZend_Gdata_Youtubeで、ごにょごにょ処理。 $result = $obj->getFeed();//該当ライブラリがどんな処理するかよくわかりませんけど、こんな感じですよね? //キャッシュ保存 //$resultはきっとXMLを読み出すためのクラスオブジェクトだと思います。 $serialized = serialize($result); //これでserializeされたオブジェクトが代入され、 $Cache_Lite->save($serialized,$cacheId); //保存されると。 } こんな感じでやってみてはいかがでしょう。
お礼
ありがとうございました。