автозагрузчик работает, сохраняя массив пар ключ-значение, например, что
classname => /full/path/to/class
В Symfony 1.3/1.4 два файла кэша получить создано. Один для основных классов, созданный sfCoreAutoload, и сохраненный в /cache/project.autoload. Для классов, которые автоматически загружаются из каталога проектов, массив пар значений ключа хранится в /cache/_app_/_env_/config/config_autoload.yml.php. Этот файл создается обработчиком конфигурации sfAutoloadConfigHandler.
Некоторые полезные пункты, чтобы помнить:
- Не все классы в рамках вашего проекта автоматически загружаются, то Автозагружаемый файлы определяются autoload.yml (в sf_lib_dir/конфигурации/конфигурации). Вы можете создать свой собственный autoload.yml и поместить его в директорию config проекта (или даже конфигурацию приложения, которую я думаю).
- При запуске в среде dev, если класс не может быть загружен автоматически, symfony перестроит кеш автозагрузки, надеясь найти файл, предполагающий его новый. Это может замедлить работу вашего приложения в некоторых случаях использования, поэтому используйте sfAutoloadAgain :: unregister().
Можете ли вы это доказать? – user198729
Я просмотрел его код и не нашел там такой логики. – user198729
Автозагрузчик Symfony работает путем сопоставления имен классов физическим файлам. Для этого не так много логики. – blockhead