• ベストアンサー
※ 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'
  • キャッシュディレクトリの中身を確認したところ、キャッシュ自体はできているようなのですが、キャッシュされたファイルを読み込む際には、何か特殊な処理をしなければいけないのでしょうか?
  • エラー内容を見て、ピンとくる方がもしいれば、アドバイスをよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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); //保存されると。 } こんな感じでやってみてはいかがでしょう。

re999
質問者

お礼

ありがとうございました。

専門家に質問してみよう