Packagist не позволяет именам пакетов иметь заглавные буквы. Чтобы обойти это, рекомендуется использовать дефисы -
. Таким образом, мое имя пакета перешло от TableCreator к создателю таблицы. К сожалению, это, кажется, предотвратили мою библиотеку из самозарядных со следующим сообщением об ошибке:Автозагрузка пакетов Php с дефисами
Class 'Company\TableCreator\DatabaseField' not found
Этого сообщение об ошибке исчезает, как только я вручную включить конкретный файл, а не полагаться на файл vendor/autoload.php
.
Мой файл пакеты composer.json следующим
{
"name": "company/table-creator",
"type": "library",
"description": "Package creating or editing MySQL tables.",
"keywords": ["mysql", "mysqli","models"],
"license": "MIT",
"authors": [
{
"name": "xxx xxx",
"email": "[email protected]",
"role": "Developer"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-4": {
"company\\table-creator\\": ""
}
}
}
Пространство имен объявляется в файле по-прежнему namespace Company\TableCreator;
Что мне нужно настроить в композиторе конфигурации для классов, чтобы autload теперь, имя пакета имеет дефис?