Я изучаю передовые стандарты PHP и пытаюсь внедрить новые и полезные методы. Раньше я использовал __autoload только для того, чтобы избежать включения нескольких файлов на каждую страницу, но в последнее время я видел подсказку в __autoload manual Функция spl_autoload_register () предоставляет более гибкую альтернативу для автозагрузки классов. По этой причине использование __autoload () не рекомендуется […]
Вот как я автоматически загружаю все классы в папку controllers , # auto load controller classes function __autoload($class_name) { $filename = 'class_'.strtolower($class_name).'.php'; $file = AP_SITE.'controllers/'.$filename; if (file_exists($file) == false) { return false; } include ($file); } Но у меня есть классы в папке models и я тоже хочу их автозагрузить – что мне делать? Должен […]
У меня есть крошечное приложение, для которого мне нужен автозагрузчик. Я мог бы легко использовать загрузчик классов symfony2, но он кажется излишним. Есть ли стабильный чрезвычайно легкий psr-0 автозагрузчик там?
Извините, если это является основным, я пытаюсь узнать как можно больше об OO в PHP, и я медленно изучаю, как его использовать (очень ограниченный). Поэтому я хочу знать, влияет ли __autoload () на кеш-код opcode PHP?
Я смотрю вокруг сети, не повезло по этому вопросу. Я использую автозагрузку композитора с этим кодом в моем composer.json : "autoload": { "psr-0": {"AppName": "src/"} } Но мне нужно автозагрузку на более высоком уровне, чем папка поставщика. Выполнение чего-то подобного не работает: "autoload": { "psr-0": {"AppName": "../src/"} } Кто-нибудь знает какое-либо решение или как я […]
Ряд фреймворков использует spl_autoload_register() для динамически загружаемых классов (т.е. контроллеров и моделей). Есть несколько сообщений о проблеме автозагрузки и кэширования кода операции. В одном из сообщений, в частности, есть ответ от @cletus, который ссылается на @Rasmus на ряд утверждений, которые оказываются сомнительными для тех, кто использует APC в качестве кэша операций операций: Работает ли кеш-код […]
Я создал собственный пакет композиторов, но у меня возникли проблемы с настройкой правильных параметров автозагрузки. Все мои классы находятся в пространстве имен MyNamespace/Common . Так, например, для включения моего класса ArrayHelper я использую Mynamespace/Common/Helper/ArrayHelper . Это важная часть моего composer.json : "autoload": { "psr-0": { "MyNamespace\\": "" } } Я прочитал это: composer.json / autoload […]