3

Composer と出会う前は、Zend のオートローダーを使用していました。

PHP のグローバル インクルード パス ( ) にあるライブラリ (LibEx と呼びましょう) がありますc:\xampp\php\pear。多くのプロジェクトで使用されるため、グローバル インクルード フォルダーにある必要があります。したがって、LibEx の関数を変更すると、すべてのプロジェクトが最新バージョンにアクセスできます。

コードをサーバーにプッシュする場合は、LibEx フォルダーをlibraryZend で自動読み込み可能なフォルダーにコピーするだけです。Composer の前は、次の方法を使用していました。

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/library'),
    realpath(APPLICATION_PATH . '/library/Zend'),
    get_include_path(),
)));

include "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance()->registerNamespace('LibEx');

今はComposerに夢中です。これは本当に素晴らしく、プロジェクト固有のライブラリも自動ロードできます。

"autoload": {
    "psr-0": {"MyLib": "src/"}
}

しかし、DocumentRoot または WebRoot にない LibEx フォルダーを自動ロードするにはどうすればよいですか? srcまた、サーバーにあり、フォルダーの下にコピーされている場合でも、自動ロードする方法は?

4

2 に答える 2

4

これを試しましたか?

"autoload": {
    "psr-0": {"MyLib": "c:\somewhere\project\src"}
}

Linuxでは、フォルダのソフトリンクが可能な解決策になるでしょう.Windowsが今日それをサポートしているかどうかはわかりません.

于 2012-11-16T20:16:23.823 に答える