У меня есть проект, вот его структура:
Я, соответственно, использовал Composer для автозагрузки классов, это прописал в cmposer.json:
"autoload":
{
"psr-4":
{
"core\\": "core",
"application\\controllers\\": "controllers",
"application\\models\\": "models",
"application\\views\\": "views"
}
}
Не забыл нажать
composer install.
У меня есть папка
models, в которой лежат 2 файла:
model.php и
authmodel.php,
соответственно, это 2 класса, содержимое
model.php:
namespace application\models;
require_once __DIR__.'/../../vendor/autoload.php';
class Model
{
}
И содержимое
authmodel.php:
namespace application\models;
require_once __DIR__.'/../../vendor/autoload.php';
class AuthModel extends Model
{
}
Как видно, они находятся в одной и той же папке, у них подключён автозагрузчик от Composer, они находятся в одном и том же пространстве имён, но когда у меня задействуется
AuthModel то я получаю ошибку:
Fatal error: Class 'application\models\Model' not found in D:\prog\openserv\OpenServer\domains\test.dev\application\models\authmodel.php on line 7