Я хотел бы добавить PSR-4 namespace для моих классов:
- app
-- autoloader.php
-- bootstrap.php -> `include 'autoloader.php'`
- public
-- index.php -> `include './../app/bootstrap.php'`
- controllers
-- Test.php
контроллеры / Test. php:
<?php
namespace Controllers;
class Test{}
app / autoloader . php (упрощенно):
<?php
spl_autoload_register('myAutoloader');
function myAutoloader($className) {
include "./../$classname.php"
}
Затем в какой-то момент я вызываю Controllers\Test::someMethod()
.
Локально , это нормально загружается. Но когда я развернул его на своем экземпляре AWS EB , он не работает. Поэтому я запустил тесты, чтобы сузить его до следующего значения:
var_dump(file_exists('./../controllers/Test.php')); // local: bool(true), AWS: bool(true)
var_dump(file_exists('./../Controllers/Test.php')); // local: bool(true), AWS: bool(false)***
В экземпляре AWS EB имя файла с заглавной буквы Controllers
не может быть найдено, но строчная controllers
может.
Как настроить экземпляр EB для учета смешанной капитализации?