PHP - Разделить код на несколько файлов или сохранить его в как можно меньшем количестве файлов?


Прямо сейчас у меня есть скрипт, который достиг 400 КБ в 4 файлах (около 3500 строк в файле).

Должен ли я разделить его на несколько файлов?

Влияет ли наличие большего количества файлов на производительность из-за нескольких вызовов require_once?

Author: Alex, 2011-01-27

6 answers

У меня есть большой скрипт на 13000 строк, который я объединил из трех других, но он полностью связан с представлением и управлением пользователями, имеет дело с выводом и получением входных данных. Функции находятся в другом файле с 8000 строками, и я удостоверяюсь, что между ними нет утечки. Нет HTML в файле функций, нет SQL в основном файле. Было бы по-другому, если бы я мог использовать объекты? Конечно. Не могу.

Итак, мораль этой истории такова: все зависит от того, что делает вас удобным для сценарий, о котором идет речь. У меня есть еще один, состоящий из 5 небольших файлов, потому что так больше смысла; этот имеет смысл как два больших.

 3
Author: Andrew, 2011-01-27 18:02:50

При использовании require или include PHP обрабатывает все файлы, как если бы это был один большой файл (представьте, что вы копируете и вставляете код из включенных файлов в свой основной файл).

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

 8
Author: Michael Irigoyen, 2011-01-27 16:17:37

Оборудование дешевое, программисты дорогие. Как сказал profitphp, снижение производительности незначительно. Что является большей тратой ресурсов в долгосрочной перспективе? сложность работы с файлом кода в десятки тысяч строк или время загрузки в микросекунды, которое вы сэкономите?

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

 4
Author: Dean Rather, 2017-05-23 12:01:38

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

Итак, чтобы ответить на вопрос: "Следует ли вам разделить его на большее количество файлов?". Конечно, если это сделает его чище, продолжайте.

 2
Author: profitphp, 2011-01-27 16:17:52

Я бы серьезно посмотрел на использование фреймворка MVC, такого как Kohana

 1
Author: Nick Rowland, 2011-01-27 16:16:41

Разделите связанные строки на функции. Сгруппируйте связанные функции и данные в классы. Если вы не думаете о том, как вы организуете свой код во время его написания, вы создаете больше работы для кого-то другого или для себя в будущем.

 1
Author: Matt, 2011-01-27 16:19:34