1

私はPHPにかなり慣れていないか、少なくとも少し複雑で多くのクラスを持つプロジェクトに新しいことをより明確にする必要があります。これまでは require_once を使用しても問題ありませんでした。ただし、新しいプロジェクトでは、すべてが常に必要なわけではない大量のインクルードで少し面倒です。

私が作成しているのは、複雑なパブリック Web サービスのクライアントです (これは私の管理外です)。そのクライアントはアプリケーションで使用されます。

spl_autoload_register を見ましたが、実際には機能しませんでした。このプロジェクトのディレクトリは次のとおりです。

webServiceClient/src/path/same/as/namespaces

アプリケーションによって直接使用されるクライアントのクラスが

webServiceClient/src/path/same

そのクラスは、可能なすべての必要なクラスを「ロード」する必要があります。どうすればそれを達成できますか?

4

1 に答える 1

1
  1. オートロード機能を作成する
  2. ポイント 1 関数を に登録しspl_autoload_registerます。 リンク
  3. __autoloadオートロード機能を持っているだけなら、登録する必要はありません。リンク
  4. オートロード関数を書く

.

function __autoload($classname) {    
   $filename = ROOT."\\". $classname .".php"; //you can define ROOT by define('ROOT','dir path');    
   include_once($filename);    
}

だから、あなたが宣言するとき

$myclass = new webServiceClient\src\path\same;

autolaod が含まれますROOT.'webServiceClient\src\path\same.php'

于 2012-05-14T10:45:24.433 に答える