Загрузить конкретные функции PHP - PullRequest
1 голос
/ 28 июля 2011

У меня есть один файл функций для всего моего сайта, и, учитывая, что одна страница 90% файла даже не вызывается.Поэтому я хочу загрузить только те функции, которые вызываются на странице, и я новичок в php.

Ответы [ 5 ]

2 голосов
/ 28 июля 2011

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

1 голос
/ 28 июля 2011

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

Если ваша система развивается, вам может понадобиться автозагрузчик.PHP поддерживает автозагрузку классов , но не для функций.Однако вы можете сгруппировать свои функции в классы (некоторые будут давать мне пощечину за такое заявление), чтобы затем использовать автозагрузку.

1 голос
/ 28 июля 2011

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

Кроме того, вы разделяете файлы по функциональности. Если вы чувствуете, что все эти функции связаны друг с другом, храните их вместе в этом файле. Это не сильно замедлит ваш сценарий.

Если хотите, вы можете поместить функции в (статические) классы и использовать автозагрузчик для загрузки файла, но я не поддерживаю это решение. Я думаю, что статические классы - это просто повод, чтобы вывести функции (и переменные) из глобальной области видимости, а создание классов только для автоматической загрузки злоупотребляет функциональностью автозагрузки. Конечно, если вы создаете более объектно-ориентированный скрипт, использование классов также имеет смысл, и их автоматическая загрузка может быть удобной.

1 голос
/ 28 июля 2011

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

Однако, если это не большой файл, это вообще не снизит вашу производительность

0 голосов
/ 28 июля 2011

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

...