Приложение PHP может иметь слишком много функций? Выполнение большого количества памяти пожирателя ресурсов функций PHP и ресурсов? Моя тема WordPress в разработке имеет много функций (вероятно, больше чем 100 к тому времени, когда я сделан), и я обеспокоен, что у меня могли бы быть слишком многие.
Я бы не стал беспокоиться о 100 функциях. Это очень мало функций.
Глобальные функции и методы компилируются, хранятся в памяти и индексируются в хэш-таблице (за исключением недавно реализованных кэшированных поисковых запросов). У вас не будет ухудшения производительности при вызове функций по мере роста количества функций, поскольку доступ к хеш-таблице осуществляется в среднем за постоянное время.
Однако будет больше накладных расходов на синтаксический анализ скриптов и, если вы действительно вызовете все эти функции, на их компиляцию. Это не проблема, если вы используете кеш-код операции.Также будет больше накладных расходов на память, но обычно память не является проблемой на веб-серверах корпоративного уровня, где более уместно попытаться обслуживать запросы как можно быстрее, не заботясь о памяти.
Есть также стилистические проблемы. Если у вас слишком много глобальных функций, подумайте:
В конце концов, беспокойтесь об этом, только если вы профилируете свое приложение и обнаруживаете, что вызовы функций являются узким местом ЦП, а определения функций - узким местом памяти.
Просто сделайте свой код, чтобы он выполнял свою работу. Не волнуйтесь о количестве ваших функций.
В ядре PHP есть более 3000 функций , поэтому не беспокойтесь о добавлении слишком большого количества .
Даже если многие функции привели к большему потреблению памяти, я Я бы посоветовал вам их использовать в любом случае. Четкая структура намного важнее производительности.
Производительность можно улучшить, добавив в нее аппаратное обеспечение , приложение с плохой структурой быстро становится очень трудно поддерживать.
Кстати: 100 функций - это ничего!
Нет, не может. На самом деле, иметь много функций - это хорошо, потому что это означает, что вы разделили свой код на более управляемые части. Хорошее правило - делайте ваши функции небольшими, пусть они делают только одно. Да, и не забудьте называть свои функции так, чтобы имя функции хорошо описывало то, что функция делает.
Наличие большого количества методов приведет к небольшим накладным расходам во время выполнения, но они настолько незначительны по сравнению с преимуществами, которые вы получаете от структурированного кода, поэтому я бы не стал беспокоиться об этом.
100 функций - не о чем беспокоиться. Если ваш код медленный, вы должны профилировать его, чтобы явно найти медленные части.
Помните, преждевременная оптимизация - зло
Думаю, да, в проекте может быть слишком много функций. Я не знаю, как вы настроили свой проект, но похоже, что у вас есть библиотеки функций. Возможно, вы захотите рассмотреть возможность объектно-ориентированной разработки в будущем. Это позволяет вам инкапсулировать функциональность в объекты. Следовательно, объект содержит функции, и они не видны другим объектам (если вы не хотите, чтобы они были видны). Это помогает значительно снизить загрязнение API.
Что касается проблем с памятью - я тоже об этом беспокоился, НЕ. Хорошие методы программирования важнее скорости. В любом случае вы даже не заметите разницы на веб-сервере. Всегда отдавайте предпочтение удобству обслуживания, а не скорости!