За последние 24 часа нас посетили 19459 программистов и 1601 робот. Сейчас ищут 1052 программиста ...

Как не плодить html разметку в php коде?

Тема в разделе "PHP для новичков", создана пользователем mrSerg, 15 май 2015.

  1. mrSerg

    mrSerg Новичок

    С нами с:
    6 сен 2014
    Сообщения:
    7
    Симпатии:
    0
    Добрый день, не могу вообразить и реализовать....

    Имеется php код вывод документа "Заказ" с таблицей товаров:
    1.order_conroller.php (всяческое подобие логики)
    2.order_model.php (работа с бд (SELECT) на основании данных от контроллера)
    3.order_view.php (ну естественно вывод результата запроса из БД браузеру)
    4.order.js (js (AJAX) скрипты для обработки действий в представлении: добавить позицию, удалить и др.)
    5.actionOrder_controller.php (Обработка GET запросов от JS скрипта и работа с бд (SELECT, UPDATE и др. и отправка JSON данных обратно AJAX)

    В order_view.php есть foreach цикл с HTML разметкой таблицы
    Стандартный пример разметки:
    Код (Text):
    1.  
    2. ...
    3. <tbody>
    4. <?php foreach ($arr as $value){
    5.     echo '<tr>
    6.                 <td>'.$value['name'].'</td>
    7.                 <td>'.$value['price'].'</td>
    8.                 <td>'.$value['qty'].'</td>
    9.                 <td>'.$value['sum'].'</td>
    10.            </tr>';
    11. }?>
    12. </tbody>
    13. ...
    Как правильно получить доступ к разметки таблицы из actionOrder_controller.php (да бы динамически обновить только таблицу)
    Не хочется плодить HTML код по php скриптам.
    Да и как это правильно реализовывать. Стараюсь придерживаться принципу MVC.

    Простите за сумбурность моих изложенных мыслей)
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Два несвязанных между собой тезиса вижу.
    Чтобы динамически обновить только таблицу, юзай AJAX. Чтобы дергать только ее создание, вынеси ее генерацию в отдельный файл и дергай его.

    Далее, HTML в PHP это нормально, а как иначе ты собираешься динамически генерировать страницы? Просто не нужно логику вывода смешивать с бизнес-логикой. В файле view пусть будет HTML и PHP, догенеривающий нужную разметку/данные. Но там не должно быть обращений к БД и функций для работы с файловой системой. А в бизнес-логике, стало быть, не должно быть кода, генерирующего контент.

    Это просто вопрос здравого смысла и логики.
     
  3. mrSerg

    mrSerg Новичок

    С нами с:
    6 сен 2014
    Сообщения:
    7
    Симпатии:
    0
    Вывел цикл с разметкой в отдельный файл и дергаю его отовсюду)
    Спасибо за идею.