Производительность PHP для включения нескольких файлов

В моем текущем рабочем процессе я включаю файлы функций и классов как и когда мне нужно. Тем не менее, это может стать довольно запутанным, и у вас их довольно много, в некоторых из них зависит от других.

Поэтому я рассматриваю возможность использования файла head, который включает в себя файлы в каталоге include. Но мой вопрос в том, есть ли какие-либо проблемы с производительностью PHP для этого, включая как когда мне нужно. Часто мне приходится использовать include_once , поэтому 1 большое включение избавится от необходимости в этом.

Лучшим подходом, вероятно, будет автозагрузка. Тогда вам не нужно (вручную) включать любой класс. Взгляните на это . Я рекомендую использовать spl_autoload_register() . Это позволит решать зависимости «на лету». В большинстве случаев производительность включений в действительности не имеет значения. Медленные вещи обычно происходят в других местах. Использование автозагрузки имеет дополнительное преимущество ленивой загрузки. Вы не загружаете исходные файлы, которые не используются. Это может даже ускорить ваше приложение.

PHP-код интерпретируется «на лету». Если данный фрагмент кода не используется, он не будет «скомпилирован» и поэтому не будет подвержен поражению производительности.

Тем не менее, весь код на данной странице (и включает в себя) проходит проверку синтаксиса, чтобы немного замедлить работу.

Конечно, я бы подумал о том, что у вас есть, и действительно ли вы в них нуждаетесь.

Обычно производительность (скорость) в PHP не зависит от количества файлов или файлов:

  • Доступ к db
  • Доступ к файловой системе !!!
  • Доступ к сторонним API (SOAP …)
  • Стиль кодирования

Я бы порекомендовал вам взглянуть на автозагрузку: manual . Я бы также рекомендовал использовать spl_autoload_register над одной __autoload() поскольку он позволяет более эффективно управлять __autoload() модулей или пространств имен.

Ну, в том числе и файлы, поражает производительность вашего приложения, потому что ему нужно прочитать ваше приложение с диска, но если вы останетесь ниже примерно 100 файлов, это тривиально.

Btw, если вам не нравится включать ваши файлы классов каждый раз, когда вы проверяете автозагрузку магического метода:

 function __autoload($class_name) { include $class_name . '.php'; } 

http://php.net/manual/en/language.oop5.autoload.php

Существует эффект производительности, но это не очень важно. Сделайте все возможное, чтобы вам было легче писать код. Если по линии вы обнаружите, что вам действительно нужно это 1 мс назад, и вы уже обрезали все остальные жиры в другом месте, то идите на это. В противном случае вы выбрасываете время разработки, пытаясь быть «идеальным», когда это действительно не имеет практического значения.