Пример 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.