Зачем и как разделять код в PHP?

352
25 декабря 2016, 22:37

Наверное вопрос типичный, но типичные ответы я прочитал.

Допустим я делаю небольшое приложение на php. Не используя никаких сторонних библиотек.

Я новичек в PHP. 'Только что' начал его использовать.

Весь html выводится с помощью PHP.

Фронт и бэк перемешаны в файлах. Т.е. всякие вызовы к базе и выводы html находятся в одном месте. Сейчас мне это никак не мешает. Но я прочитал что PHP желательно разделять на части - одна чтобы отвечала за фронт, а другая за соединения с базой и всю остальную логику.

Зачем так делать? Повышается масштабируемость и скорость обслуживания кода?

Как это лучше сделать?

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

Реквайрить эти данные из отдельного файла? И в самом файле будет происходить запрос к базе и запись этих данных в переменные? Потом просто расставить переменные?

Спасибо.

Answer 1

Вам станет намного более понятным ответ если программирование Вы начнёте с карандаша. Почиркайте по бумаге и код сам разбежится по различным квадратикам.

Разбивка кода очень удобна при многопользовательской разработке. Не очень удобно получить при очередном pull получить сотни правок на один файл.

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

Иное дело что не нужно фанатизма. Не стоит каждую строку выделять в файл.

То что Вы привели как пример... Зависит от нюансов. Насколько сложен каждый блок, насколько сильно планируется его развивать, один разработчик, или эту часть отдают другому разработчику. А может это вообще открытая среди проприетарного...

Answer 2

Никогда не мешайте логику с представлением. А теперь просто задайте себе ряд вопросов и вы сами же найдёте на многие из них ответы:

  • А что если в ряде запросов нам нужно будет обращаться к другой СУБД? Удобно ли будет поддерживать всё это в текущем виде?
  • Что если нам нужно будет изменить целый блок? Удобно будет искать его среди логики и править?
  • Что если дизайном будет заниматься другой человек? Каково ему будет копаться в этих файлах, не лучше ли вынести представление отдельно, используя Smarty, Twig и прочие шаблонизаторы?
  • и т.д. и т.п.

Задавая себе вопросы, вы решите множество проблем на начальной стадии, но опыт и практику конечно же тоже никто ещё не отменял.

READ ALSO
Получить УРЛ из JSON

Получить УРЛ из JSON

Добрый деньПосле некоторых манипуляций страница на моем сайте выдает следующий JSON:

492
Не корректная работа ng-repeat (Error: [ngRepeat:dupes] )

Не корректная работа ng-repeat (Error: [ngRepeat:dupes] )

Имею следующий контроллер:

484
Как заменить точку в слове?

Как заменить точку в слове?

ЗдравствуйтеКак во всем тексте заменить символ точки, который стоит только внутри самого слова?

348
JS Проблема с циклом

JS Проблема с циклом

Есть такой код:

351