PHP - разбить код на несколько файлов или сохранить как можно меньше файлов? - PullRequest
5 голосов
/ 27 января 2011

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

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

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

Ответы [ 6 ]

9 голосов
/ 27 января 2011

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

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

4 голосов
/ 27 января 2011

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

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

4 голосов
/ 27 января 2011

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

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

2 голосов
/ 27 января 2011

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

Итак, чтобы ответить на вопрос: «Вы должны разбить его на несколько файлов?». Конечно, если это будет держать его в чистоте, продолжайте.

1 голос
/ 27 января 2011

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

1 голос
/ 27 января 2011

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

...