Включить все функции в php-файл, который мне нужен, или только те функции, которые мне нужны?

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

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

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

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

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

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

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

    Это время, чтобы вспомнить знаменитую цитату Дональда Кнута :

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

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

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