Теперь я использую PHP OOP Programming, без рамки, я начинаю создавать приложение Blog. Сначала я создаю файл Bootstrap, тогда все случаи должны обрабатываться через это, тогда я создаю класс Handler для обработки классов входа и публикации, прямо сейчас отображают значение в классе обработчика входа, а затем как подключиться к части просмотра.
Основная идея инициализировать ваше понимание 🙂 Если вы хотите, чтобы класс представления был более мощным, вам нужно его развивать дальше.
view.php
<?php class View { function __construct($tpl) { include $tpl; } } ?>
handler.php
<?php class Handler { function __construct() {} function process($post) { echo $post; } } ?>
bootstrap.php
<?php require('view.php'); require('handle.php'); $view = new View('form.html'); $handler = new Handler(); if (isset($_POST['login'])) { $handler->process($_POST['username']); } ?>
Представления не должны быть классами, представления должны представлять собой фрагменты PHP и HTML или любой другой формат, который вы хотите вывести, который может быть вызван контроллером.
Я думаю, что сначала лучше понять MVC, а затем сыграть с некоторыми существующими фреймворками, может начаться с codeigniter, его просто понять, чтобы получить детали, а затем создать свои собственные (если требуется!)
Как правило, у вас будет определенная функция или класс, которым будет рассказано, какой шаблон просмотра загрузить, и он загружает его. $view->loadTemplate('userHome.html');
или т.п. Это ограничивает объем переменных, доступных в представлении, для переменных, которые вы специально назначили ему ( $view->userName = 'fred';
). Поэтому вам нужно будет сделать эту функцию / класс.
Например, если у вас есть профиль профиля пользователя, он может выглядеть следующим образом:
<div class='profile'> <img src='<?php echo $avatar; ?>'> <h1><?php echo $username; ?></h1> <table> <tr><th>Registration date:</th><td><?php echo $regdate; ?></td></tr> <tr><th>Lastlogin:</th><td><?php echo $logindate; ?></td></tr> <tr><th>Topics created:</th><td><?php echo $topics; ?></td></tr> </table> </div>
и ваш контроллер может объявить переменные, а затем включить это представление в вывод.