У меня есть один файл функций для всего моего сайта, и для одной страницы 90% файла даже не вызывается. Поэтому я хочу загрузить только те функции, которые вызывают на странице, и я новичок в php.
Группа объединяется в несколько объектов с общими чертами, делая их статическими функциями и помещая каждый объект в отдельный файл. Затем используйте функции автозагрузки PHP5 для загрузки соответствующих объектов только тогда, когда они используются.
Вы можете разбить этот файл на множество мелких файлов и включить только то, что вам нужно использовать.
Однако, если это не большой файл, он не снизит вашу производительность вообще
Вы можете разделить свой файл функций в нескольких файлах, но помните, что если вам нужно больше файлов, загрузка может быть даже медленнее, потому что вам нужно больше команд ввода-вывода для загрузки разных файлов.
Кроме того, вы разделяете файлы по функциональности. Если вы чувствуете, что все эти функции принадлежат друг другу, держите их вместе в этом файле. Это не замедлит ваш скрипт.
Если хотите, вы можете поместить функции в (статические) классы и использовать автозагрузчик для загрузки файла, но я не сторонник этого решения. Я считаю, что статические классы – просто предлог для получения функций (и vars) из глобальной области, а создание классов только для автоматической загрузки – злоупотребление функциональностью автозагрузки. Конечно, если вы создаете более объектно-ориентированный скрипт, использование классов тоже имеет смысл, и автоматическая загрузка может быть удобной.
На самом деле это не проблема, когда функция доступна для использования, но вы используете ее только в своем приложении. Более важно, что у вас есть все, когда вам это нужно, без фактического ухода за загрузкой.
Если ваша система растет, то вы можете искать автозагрузчик. PHP поддерживает автозагрузку классов, но не для функций. Однако вы можете сгруппировать свои функции в классы (некоторые из них будут ударять меня по такому утверждению), чтобы потом использовать автозагрузку.
Если размер вашего файла невелик, он вообще не снизит вашу производительность. Если вы хотите достичь своей цели, выполните групповые функции и поместите их в отдельные файлы и включите только необходимые файлы …