1

Zend_Gdata ライブラリを使用して picasa から写真をダウンロードするアプリケーションを PHP で開発しようとしています。私のプロジェクトのフォルダー構造は次のようになります。

www(wamp)
  /project
    test.php
    /Zend
      /Authentication
      /Barcode
      .
      .
      /View
      /XmlRpc

ご覧のとおり、私は完全な Zend Framework をコピーしていません。このプロジェクトでは完全な MVC パラダイムは必要ありません。Zend_Gdata ライブラリだけが必要です。これはこれを行う方法ですか?それとも、完全な zend フレームワークを使用する必要がありますか? Zend はまったくの初心者です。

IBM サイトhttp://www.ibm.com/developerworks/library/x-picasalbum/でこの記事を見つけました。

しかし、そのチュートリアルの Listing5 で指定された Zend フォルダーにLoader.phpファイルが見つからないようです。

// load library
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Photos');
Zend_Loader::loadClass('Zend_Http_Client');

代わりに、他の多くのloaderClassesを含むZendフォルダーにこのフォルダーLoaderを見つけました。そのチュートリアルは時代遅れですか?(日付は 2008 年 9 月 16 日、Zend は現在 Zend2 です) そのフォルダ内のどのファイルが古い Loader.php の目的にかなっていますか?

4

1 に答える 1

1

Zend Framework 1 を使用している場合は、最初に Zend フォルダーを include_path に追加する必要があります。

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(realpath(dirname(__FILE__) . '/../library'), // /../library is the relative path to the Zend folder 
    get_include_path(),
)));

次に、オートローダーをセットアップします (このコードには、フレームワークの少なくとも v1.12 が必要です)。

require_once __DIR__ . '/../library/Zend/Loader/StandardAutoloader.php';
$loader = new Zend_Loader_StandardAutoloader(
    array(
         Zend_Loader_StandardAutoloader::LOAD_NS => array(
             'Zend'     => __DIR__ . '/../library/Zend',
         ),
    ));
$loader->register();

Zend Framework 2 を使用している場合は、使用する必要があります

require_once __DIR__ . '/../library/Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(
    array(
         Zend\Loader\StandardAutoloader::LOAD_NS => array(
             'Zend'     => __DIR__ . '/../library/Zend',
             'ZendGData'=> __DIR__ . '/../library/ZendGData',
         ),
    ));
$loader->register();

上記の手順でオートローダーがセットアップされるため、各クラスをロードする必要はありません。

ZF1では、直接行うことができます:

$var = new Zend_Gdata_ClientLogin()

ZF2 の同じものは次のとおりです。

$var = new ZendGData\ClientLogin();
于 2012-09-10T06:59:56.703 に答える