2

Symfony2クラス(つまりSymfony2プロジェクト内)に使用したいファイル(PHP用のxmlrpcライブラリ)があります。

ここに書かれているように、オートローダーを使用できません

これは、[オートローダー]が次の規則のいずれかを実装するファイルからクラスをロードできるようにします。

1) The technical interoperability standards for PHP 5.3 namespaces and 
   class names;
2) The PEAR naming convention for classes.

プロジェクトに使用するクラスとサードパーティライブラリがこれらの標準に準拠している場合、Symfony2オートローダーが必要になる唯一のオートローダーです。

私が使用するクラスは、これらの要件の1つを満たしていませんでした。

したがって、そのファイルを自動ロードできない場合、(私が理解しているように、間違ってしまう可能性があります)でを使用することはできませんrequire_once(または単にrequirenamespaceので、この問題の解決策は何ですか?

4

1 に答える 1

5

xmlrpc.lib.php次の内容で名前が付けられたファイルがあると仮定します。

<?php 
class XMLRPC_Server {
    // ...
}

class XMLRPC_Request {
    // ...
}

class XMLRPC_Response {
    // ...
}

のインスタンスを作成して、MapClassLoaderオートロードを処理できます。

// Create map autoloader
$mapLoader = new MapClassLoader(array(
    'XMLRPC_Server' => __DIR__.'/../library/xmlrpc.lib.php',
    'XMLRPC_Request' => __DIR__.'/../library/xmlrpc.lib.php',
    'XMLRPC_Response' => __DIR__.'/../library/xmlrpc.lib.php',
));

// Register autoloader
$mapLoader->register();

これらのクラスの 1 つが自動ロードされると、同じ PHP ファイルを共有する他のクラスも自動ロードされます。

于 2012-09-12T16:08:44.183 に答える