2012-06-19 4 views
0

Я прочитал обе стороны монеты. Некоторые говорят, что php должен быть отделен от html using includes. Некоторые говорят, что это плохое программирование, чтобы иметь php-код во включенном файле, отличном от информации о подключении к базе данных. Прямо сейчас у меня есть комбинация обоих. Это просто вопрос предпочтения или есть и фактическая выгода (безопасность, производительность, дизайн) над другой?php include best practice

+3

Не могу сказать, не видя своего конкретного приложения. Вы действительно используете код или просто отделяете его? В любом случае, этот вопрос будет просто обсуждать споры. Почему бы не использовать принципы OO? Или структура MVC, такая как codeigniter, которая делает это за вас? –

ответ

1

В зависимости от размера вашего приложения, это хороший принцип проектирования для разделения вещей.

Так что важно прежде всего отделить логику приложения и логику представления.

Что это значит ... основная функциональность вашего приложения должна быть в виде нескольких файлов, функций или классов. И код, который обрабатывает их так, вещи будут выглядеть в конце (ваша презентация) должна быть в другой части.

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

Вот некоторые причины, чтобы отделить два

  1. Вы можете внести изменения в один, не затрагивая (Idealy) другой. Делает редизайн легко.
  2. Достаточно часто разные люди, которые кодируют приложение и презентацию
  3. Это поможет вам разобраться в своих мыслях, чтобы вы могли сосредоточиться на одном из двух аспектов за раз.

Это зависит от размера приложения и срока службы (хотя вещи, как правило, продолжаются дольше, чем мы ожидаем, поэтому их сохранение может быть сукой).

Для больших приложений, я думаю, что MVC это всегда хороший способ для разработки веба-приложений, и есть много структур, которые занимаются этим хорошо в PHP (Symphony, Zend, Yii и т.д.)

Надеется, что это помогает.

+0

Разделение приложений и презентаций имеет большой смысл. Я прочитал много комментариев, которые упоминают Zend, но не заглядывал в него и понятия не имею, что это такое, но если это облегчит жизнь, я обязательно посмотрю на него. Спасибо за информацию. – whatdafrak

3

Я использую только включает в себя две вещи:

  1. вещи, как меню, где я буду нуждаться в том же код в разных местах. Этот позволяет мне редактировать только один файл при изменении меню.
  2. Когда у меня есть файл кода, такой как база данных или файл сеанса, который мне понадобится снова и снова.

Возможно, это отвечает на ваш вопрос, хотя трудно сказать, что именно вы спрашиваете.

+0

Я нахожусь на ранних стадиях строительства сайта и просто хотел узнать, что такое «лучшая практика». Или все это вопрос мнения.Я просто не хочу привыкать делать это одним из способов узнать позже, что путь не безопасен или сложнее управлять, поскольку сайт становится все больше. – whatdafrak

+0

Хорошо, я бы сказал, действительно, единственное, что вам нужно беспокоиться использует слишком много включений. Просто используйте их, когда они имеют смысл. Это становится болью, когда у вас есть страница, составленная только из включений, например. Если вы говорите о бэкэнд-файле, который является строго php-кодом, на самом деле нет ограничений на количество включений, которые вы должны использовать. Вы не хотите копировать/вставлять страницы кода. Гораздо проще просто использовать. –

+0

+1 при использовании Codeigniter. Это огромная помощь. Вы можете разработать сложное приложение буквально в полтора раза –

2

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

+0

Да, с подключением заголовка, нижнего колонтитула и db, так как включает в себя большую экономию времени. – whatdafrak