Пример Hello World в подходе MVC к PHP
Может ли кто-нибудь предоставить очень простой пример Hello World в подходе MVC к PHP?
Ответы
Ответ 1
Здесь некоторые "Привет, мир" MVC:
Model
function get_users() {
return array(
'Foo',
'Bar',
'Baz',
);
}
Вид
function users_template($users) {
$html = '<ul>';
foreach ($users as $user) {
$html .= "<li>$user</li>";
}
$html .= '</ul>';
return $html;
}
контроллер
function list_users() {
$users = get_users();
echo users_template($users);
}
Основная идея состоит в том, чтобы разделить доступ к данным (модель) от представления данных (просмотра). Контроллер должен делать не более, чем подключение двух вместе.
Ответ 2
Вот самый простой пример. Ваш файл index.php является контроллером, получает некоторые данные из модели, затем включает HTML через файл вида.
/* index.php?section=articles&id=3 */
// includes functions for getting data from database
include 'model.php';
$section = $_GET['section'];
$id = $_GET['id'];
switch ( $section )
{
case 'articles':
$article = getArticle( $id );
include 'article.view.php';
}
.
/* article.view.php */
<html>
<head>
<title><?=$article['title']?></title>
</head>
<body>
<h1><?=$article['title']?></h1>
<p><?=$article['intro']?></p>
<?=$article['content']?>
</body>
</html>
Ответ 3
QuickStart из Zend Framework - не очень плохой пример "простого приложения" (а не "Hello World", но не очень больше - и использование MVC для приложения "Hello World" немного похоже на использование ядерной бомбы, чтобы убить ошибку) на основе Zend Framework и с использованием MVC.
После того, как вы хотите получить немного дальше, вы можете взглянуть на электронную книгу Выжить в Deep End! - все еще работает в процессе, но интересное чтение в любом случае.
Что с ZF; Я полагаю, вы можете найти тот же материал с другими MVC-платформами, такими как Symfony или CakePHP.