spl_autoload_register () とその仲間、つまり Spl Autoload メカニズムとinclude_path
ini ディレクティブについて学んでください。それはクールなもので、多くの頭痛の種から解放されます! :)
ただし、オートローディングは魔法ではありません。これは、以前に含まれていなかったユーザー定義クラスにアクセスするときに Zend エンジンが呼び出す「フック」メカニズムにすぎません。autoload メソッドのパラメーターはクラス名です。このメソッドは、クラス名をファイル名に解決し、include または require (*_once) を使用してそれを含める必要があります。
あなたの場合、ファイル X.php がフォルダー X のクラスパスのどこかにあると仮定すると、次のように名前を解決できます。
// define your autoloader
function the_autoloader($classname) {
// $classname will 'X\X' in the example
$filename = str_replace('\\', '/', $classname) . '.php';
require $filename;
}
// register the autoloader
spl_autoload_register('the_autoloader');
// from this point you are free to instantiate every class
// that can be resolved by the_autoloader() without writing
// an explicit include statement
$y= new X\X();
$y->HelloWorld();
ご覧のように、オートローディングはクラスの使用を容易にし、「バックグラウンドで」ファイルをインクルードしますが、それらをインクルードする必要があります。したがって、質問に対する答えは次のとおりです。使用する前にクラスファイルを含める必要があります