Включить все функции в нужный мне php файл или только те функции, которые мне нужны? - PullRequest
5 голосов
/ 01 июля 2011

Итак, вот что я хочу сделать.

  1. Первый вариант - написать каждый функция в разных файлах php каждый один, а затем включить их все в php-файл, который называется include functions.php и всякий раз, когда я создаю новая страница, скажем, index.php я просто включите "functions.php";

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

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

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

Ответы [ 2 ]

5 голосов
/ 01 июля 2011

Диск - самая медленная часть сервера, поэтому в этом случае вариант «все функции в одном файле» теоретически даст вам немного большую производительность.

Но я не рекомендую вам создавать «functions.php», лучший способ - OOP . Создайте классы (объекты) с методами, используйте автозагрузчики и стандарт PSR-0 , и вы вообще забудете про «включать» и «требовать».

4 голосов
/ 01 июля 2011

Это время вспомнить Знаменитая цитата Дональда Кнута :

Программисты тратят огромное количество время думать или беспокоиться о, скорость некритических деталей их программ, и эти попытки на эффективность на самом деле имеют сильный негативное влияние при отладке и техническое обслуживание считаются. Мы должны забудьте о малой эффективности, скажем около 97% времени: преждевременно оптимизация - корень всего зла. Но мы не должны отказываться от наших возможности в этих критических 3%. "

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

Вы можете рассмотреть возможность использования объектно-ориентированного программирования (ООП), если оно применимо к вашему проекту. Когда вы используете ООП, эта проблема может даже стать проблемой, если ваши объекты обрабатывают собственную загрузку зависимостей.

...