В моем текущем рабочем процессе я включаю файлы функций и классов как и когда мне нужно. Тем не менее, это может стать довольно запутанным, и у вас их довольно много, в некоторых из них зависит от других.
Поэтому я рассматриваю возможность использования файла head, который включает в себя файлы в каталоге include. Но мой вопрос в том, есть ли какие-либо проблемы с производительностью PHP для этого, включая как когда мне нужно. Часто мне приходится использовать include_once
, поэтому 1 большое включение избавится от необходимости в этом.
Лучшим подходом, вероятно, будет автозагрузка. Тогда вам не нужно (вручную) включать любой класс. Взгляните на это . Я рекомендую использовать spl_autoload_register()
. Это позволит решать зависимости «на лету». В большинстве случаев производительность включений в действительности не имеет значения. Медленные вещи обычно происходят в других местах. Использование автозагрузки имеет дополнительное преимущество ленивой загрузки. Вы не загружаете исходные файлы, которые не используются. Это может даже ускорить ваше приложение.
PHP-код интерпретируется «на лету». Если данный фрагмент кода не используется, он не будет «скомпилирован» и поэтому не будет подвержен поражению производительности.
Тем не менее, весь код на данной странице (и включает в себя) проходит проверку синтаксиса, чтобы немного замедлить работу.
Конечно, я бы подумал о том, что у вас есть, и действительно ли вы в них нуждаетесь.
Обычно производительность (скорость) в PHP не зависит от количества файлов или файлов:
Я бы порекомендовал вам взглянуть на автозагрузку: manual . Я бы также рекомендовал использовать spl_autoload_register
над одной __autoload()
поскольку он позволяет более эффективно управлять __autoload()
модулей или пространств имен.
Ну, в том числе и файлы, поражает производительность вашего приложения, потому что ему нужно прочитать ваше приложение с диска, но если вы останетесь ниже примерно 100 файлов, это тривиально.
Btw, если вам не нравится включать ваши файлы классов каждый раз, когда вы проверяете автозагрузку магического метода:
function __autoload($class_name) { include $class_name . '.php'; }
Существует эффект производительности, но это не очень важно. Сделайте все возможное, чтобы вам было легче писать код. Если по линии вы обнаружите, что вам действительно нужно это 1 мс назад, и вы уже обрезали все остальные жиры в другом месте, то идите на это. В противном случае вы выбрасываете время разработки, пытаясь быть «идеальным», когда это действительно не имеет практического значения.