Как я могу использовать идеи MVC без использования классов? - PullRequest
2 голосов
/ 22 мая 2010

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

Но как я могу реализовать идею MVC без классов?

Будет ли это работать для MVC?

index.php (просмотр)

index_controller.php

index_model.php

    Is this right for what a MVC should be? 
View: show html, css, forms 
Controller: get $_POST from forms and any data from the user, get info from db 
Model: do all the functions, insert/delete in db, etc

По сути, разделите HTML / CSS для представления, весь сбор данных для контроллера и логику для модели. И просто подключите их все с помощью require_once.

1 Ответ

1 голос
/ 22 мая 2010

Контроллер : Ваш index.php, принимающий и направляющий запросы. Это, безусловно, может быть «бесклассовым» сценарием. Он будет действовать как контроллер и «передний контроллер».

View (s) : Коллекция скриптов презентации, специфический скрипт, включенный вашим контроллером. По сути, «получение» данных из области видимости контроллера.

Модель (ы) : набор функций, обеспечивающих доступ к вашим данным. Контроллер определяет, что включить в запрос.

Конечно, это можно сделать, но вы теряете много, не используя классы (ООП). Вот быстрый пример того, как может выглядеть контроллер . Ничего удивительного, просто идея. Показ контроллера должен также пролить некоторый свет на модель / вид.

<?php
  $action = getAction(); //parse the request to find the action
  switch($action){
    case 'list':
      include('models/todolist.php'); //include the model
      $items = todolistGetItems(); //get the items using included function
      include('views/todolist/list.php'); //include the view
      break;
    case 'add':
      if(!empty($_POST['new'])){ 
        include('models/todolist.php'); //include the model
        todolistAddItem($_POST); //add the item
        $items = todolistGetItems(); //get the items using included function
        include('views/todolist/list.php'); //include the view
      } else {
        include('views/todolist/add.php'); //include the view
      }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...