Я использую Silex (и, следовательно, композитор) для любого проекта веб-приложения.
Я хотел бы автоматически загрузить 4 объекта и формы:
- ФСБ\МойПроект\Объект\Букинг --> /src/ФСБ/МойПроект/Энтити/Букинг.php
- ФСБ\МойПроект\Форма\ТипБукинга --> /src/ФСБ/МойПроект/Форма/ТипБукинга.php
- FSB\MyProject\Entity\Contact --> /src/FSB/MyProject/Entity/Contact.php
- FSB\MyProject\Form\ContactType --> /src/FSB/MyProject/Form/ContactType.php
composer.json определяется с помощью массива psr-0:
{
"require": {
"silex/silex": "~1.0",
[...]
},
"autoload": {
"psr-0": {
"FSB": "src/"
}
}
}
Затем в моем файле index.php я просто вызываю:
use FSB\MyProject\Entity\Contact;
use FSB\MyProject\Form\ContactType;
use FSB\MyProject\Entity\Booking;
use FSB\MyProject\Form\BookingType;
$contact = new Contact();
Все отлично работает в моей среде разработки, MAMP, php 5.4
Но он ломается на моем рабочем сервере, Apache2 на Ubuntu с PHP 5.4 тоже
"Фатальная ошибка PHP: класс "FSB\MyProject\Entity\Contact" не найден в /[...]/index.php"
Я пробовал много способов загрузить свои объекты, например:
{
"require": {
"silex/silex": "~1.0",
[...]
},
"autoload": {
"psr-0": {
"FSB/Palmeraie": "src/",
}
}
}
Или даже:
{
"require": {
"silex/silex": "~1.0",
[...]
},
"autoload": {
"psr-0": {
"FSB\\Palmeraie\\Entity": "src/",
"FSB\\Palmeraie\\Form": "src/"
}
}
}
--> В моей среде разработки работает несколько способов; ни в моей производственной среде...
Я что-то пропустил ?