spl_autoload_registerの使い方を学んでいます
私は次のようなフォルダ構造を持っています:
lib/projectname/home/homepage.php
したがって、このようなファイルを含めると、次のように機能します。
include("lib/projectname/home/homepage.php");
$home = new homepage();
次のようなautoload.phpファイルを追加しました。
function myclass($class_name) {
$class_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
require_once($class_name);
}
spl_autoload_register('myclass');
今、私がクラスを使おうとすると、私はそれを次のように参照しています:
require_once("autoload.php");
$home = new lib_projectname_home_homepage;
これを行うと、次のエラーが発生します。
Fatal error: Class 'lib_projectname_home_homepage' not found
したがって、クラスファイルのロードは機能しているように見えますが、ファイル内でクラスが見つかりませんか?
実際のhomepage.phpファイルは次のようになります。
class homepage {
function __construct(){
echo "homepage";
}
}
これを正しく機能させるには、何を変更する必要がありますか?