マイプロジェクト構造は以下の通りです:オートローダーを調整してクラスをロードするにはどうしたらいいですか?
.
└── src
├── Domain
│ ├── Customer
│ │ ├── Basic.php
│ │ └── Premium.php
│ ├── Book.php
│ ├── Customer.php
│ ├── Payer.php
│ └── Person.php
└── init.php
私のスクリプトinit.php
には以下が含まれています。
<?php
use Bookstore\Domain\Book;
use Bookstore\Domain\Customer;
function autoloader($classname) {
$lastSlash = strpos($classname, '\\') + 1;
$classname = substr($classname, $lastSlash);
$directory = str_replace('\\', '/', $classname);
$filename = __DIR__ . '/src/' . $directory . '.php';
require_once($filename);
}
spl_autoload_register('autoloader');
$basic = new Basic(1, "name", "surname", "email");
$premium = new Premium(2, "name", "surname", "email");
var_dump($basic);
var_dump($premium);
そして、私のエラーは、次のとおりです。
PHP Warning: require_once(/srv/http/libro_php7/src/asic.php): failed to open stream: No such file or directory in /srv/http/libro_php7/init.php on line 11 PHP Fatal error: require_once(): Failed opening required '/srv/http/libro_php7/src/asic.php' (include_path='.:') in /srv/http/libro_php7/init.php on line 11
ありがとう!すべての