Учтите это:
(index.php)
for ($i=0; $i<100000; $i++) {
include('somefile.php');
}
(somefile.php)
<?php
// nothing here
index.php (для меня) занимает ~ 115 секунд, чтобы обработать 100 000 итераций, включая somefile.php, даже если в somefile.php ничего нет.
Тем не менее:
(index.php)
for ($i=0; $i<100000; $i++) {
// no file included this time
}
index.php теперь выполняется за 0,002 секунды без конструкции include ().
(index.php)
for ($i=0; $i<100000; $i++) {
echo $i .'<br/>';
}
index.php требует 0,02 секунды, чтобы повторить 100 000 итераций $ i.
Конечно, это довольно экстремальный пример из-за большого количества итераций, но он действительно показывает, что при простом включении конструкции include время выполнения скрипта может быть отложено довольно экспоненциально. Учтите это в следующий раз, когда вы напишите процесс с большим количеством итераций, т.е. чтение / запись больших XML-файлов и т. д. Лучше сохранять свой код встроенным, даже если это означает, что он менее «управляем». Потому что вы не только добавляете ~ 115 секунд (~ 2 минуты) к времени выполнения скрипта на каждых ~ 100 000 итераций, просто включив include (), но и подумайте, есть ли в этом include () (somefile.php) собственные процессы для выполнить. Мой пример - просто добавление конструкции include (). Включенный файл ничего не содержал.
Теперь, включая файлы здесь и там для веб-страницы, время будет незначительным. Я только указал, что конструкция include () требует дополнительной обработки независимо от ее содержимого.