У Linux есть файловая система, чувствительная к регистру. Это означает, что файлы Alex.txt
и alex.txt
- это то же самое в Windows, но не в Linux. На самом деле на Linux и может счастливо жить в том же каталоге:
$ tree .
.
├── alex.txt
└── Alex.txt
0 directories, 2 files
Принимая это во внимание, я хотел бы попытаться перепроверить, что путь вы используете в вашем пространстве имен фактически идентичен тому, что находится в файловой системе уровень. (т.е. AAA
каталог только заглавными буквами; Core
каталог капитализируются и Tools.php
файл капитализируются)
Если вы хотите сохранить существующий макет файловой системы, вы можете использовать PSR-4 явно указать Composer, как отобразить пространство имен файловой системы:
Изменить autoload
раздел из вашего composer.json:
{
"autoload": {
"psr-4": {"AAA\\DB\\": "db/"}
}
}
где db/
фактический путь из файловой системы
Update автозагрузчика:
$ composer dump-autoload
Это будет заботиться о именах каталогов, но не применяется для файлов ,Это означает, что любой файл внутри db/
должен быть назван точно так же, как используется в пространстве имен (для использования как use AAA\DB\DBCore
файл должен быть db/DBCore.php
).
Если файл называется dbcore.php
, и вы хотите, чтобы ссылаться на него в пространстве имен, как DBCore
, вы можете использовать функцию classmap из Composer:
"autoload": {
"classmap": [
"db/dbcore.php"
]
}
dbcore.php:
<?php
namespace AAA\DB;
class DBCore
{
}
И ты может использовать его, как обычно:
<?php
require_once("./vendor/autoload.php");
$dbCore = new \AAA\DB\DBCore();
Не знаете, как помочь, не видя пример того, какие ошибки вы получаете ... проблема может быть от недостающих файлов до разрешений. – Brad
@Brad Дополнительная информация предоставлена, спасибо! –
Вы запустили команду 'install' после загрузки? –