Самый эффективный способ поделиться функциями между несколькими страницами php - PullRequest
1 голос
/ 14 сентября 2010

У меня около 10 динамических php-страниц, которые используют около 30 функций. Каждая функция требуется более чем на 1 странице, а каждая страница требует своего поднабора функций.

Я обдумывал следующие варианты:

1 - все функции в одном включаемом файле: каждая страница загружает ненужный код

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

3 - один включаемый файл с условными обозначениями, объявляющими только необходимые функции на основе REQUEST_URI: дополнительная обработка при загрузке каждой страницы

4 - по одному файлу на страницу php с копиями функций, необходимых для этой страницы: трудно поддерживать

Как люди справляются с этим сценарием? Спасибо!

Ответы [ 4 ]

2 голосов
/ 14 сентября 2010

бросить связанные функции в библиотеку включают в себя. включать библиотеки по мере необходимости.

Кроме того, если вы потратите еще 5 секунд на размышления об этом, это будет 5 дополнительных секунд, которые вы потратили впустую

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

1 голос
/ 14 сентября 2010

Вариант 1 является самым простым, самым легким в обслуживании и, вероятно, более быстрым в выполнении, чем варианты 2 и 3. Вариант 4 будет работать очень и очень немного быстрее за счет кошмара обслуживания.

Палка с вариантом 1.

0 голосов
/ 14 сентября 2010

Для начала поместите их все в один файл include_once.

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

Когда обслуживание становится проблемой, разбейте их по функциям. Тем не менее, вы все равно получите файл «util.inc» или «misc.inc» ...

0 голосов
/ 14 сентября 2010

Ваша проблема кричит ООП.

Организовать код по классам.Загружайте классы по мере необходимости.

Больше в PHP OOP.

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

...