Есть ли такая вещь, как чрезмерное использование PHP include ()? - PullRequest
3 голосов
/ 08 июня 2010

Я использую include для добавления различных функций, которые я использую, и сейчас я начинаю использовать include для добавления фрагментов HTML / PHP. Есть ли момент, когда я использовал слишком много включений?

Ответы [ 5 ]

5 голосов
/ 08 июня 2010

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

Я рекомендую программировать на объектно-ориентированном PHP и использовать автозагрузчики, чтобы избежать включения / требования, посколькувозможный.Чрезмерное использование include / require часто приводит к нечитаемому и не поддерживаемому спагетти-коду, что очень плохо.

В небольших проектах у меня обычно просто есть один оператор require для добавления функций (функций) автозагрузчика, а в больших приложениях яиспользуйте Zend Framework, где я полагаюсь исключительно на Zend_Loader.

С точки зрения пуриста, я бы сказал: более 3 включений / требований в вашем собственном коде (без сторонних библиотек) - это слишком много:

  1. Один для включения некоторых вещей инициализации
  2. Один для загрузки класса / функции автозагрузчика
  3. И один в самом автозагрузчике.Должна быть только одна функция, которая фактически включает / требует файлы.Затем эту функцию или метод можно повторно использовать в расширенных классах автозагрузчика.

В основном я стараюсь придерживаться этого принципа.

1 голос
/ 08 июня 2010

Вы можете злоупотреблять чем угодно, но это, вероятно, не причинит вам особого вреда (всего лишь несколько дополнительных характеристик здесь и там).Вы должны помнить, что крупные проекты, такие как Drupal и Wordpress, делают сотни, если не тысячи include s.

Если вы подключаетесь к HTML, вы можете быть немного отчаянными.Лично я бы хорошо посмотрел на правильный язык шаблонов или даже структуру, которая помогла вам в позиции MVC или MVT.Это делает его намного проще, чем чеканка, включает повсеместно и (что более важно) сохраняет 95% вашей логики в файлах презентации.Да, и они могут поддерживать ваши базы данных гораздо более программным модульным способом.

В основном, фреймворки дают вам много преимуществ для разработки;)

Symphony и CakePHP являются хорошими фреймворками, но если вы просто хотите посмотретьшаблонизируй, попробуй с Smarty .

1 голос
/ 08 июня 2010

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

0 голосов
/ 08 июня 2010

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

  1. Отдельная разметка от логики программы
  2. Используйте шаблоны тегов и встроенные функции, чтобы значительно упростить разработку
  3. Кэширование предварительно обработанных PHP-файлов, делающих все это намного быстрее для ваших пользователей
0 голосов
/ 08 июня 2010

Если все, что вы используете, это включает в себя, то я бы искал другой способ сделать это.

Например, если у вас есть отдельный файл для каждой функции, возможно, стоит собрать их все в один файл или поместить с похожими функциями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...