0xEHSAN
دوشنبه 21 دی 1394, 11:49 صبح
درود عزیزان من در مورد mvc هر چی تحقیق می کنم شکل هاش فرق میکنن و منم نمیتونم رابطه اصلی شونو به هم پیدار کنم برای مثال
class Model{ public $string; public function __construct() { $this->string = "MVC + PHP = Awesome, click here!"; }}class View{ private $model; private $controller; public function __construct($controller, $model) { $this->controller = $controller; $this->model = $model; } public function output() { return '' . $this->model->string . "
"; }}class Controller{ private $model; public function __construct($model) { $this->model = $model; } public function clicked() { $this->model->string = "Updated Data, thanks to MVC and PHP!"; }}$model = new Model();$controller = new Controller($model);$view = new View($controller, $model);if (isset($_GET['action']) && !empty($_GET['action'])) { $controller->{$_GET['action']}();}echo $view->output();کنترلر نباید رابطی بین مدل و ویوو باشه پس چرا مدل تو ویوو مستقیما تعریف شده؟ و یا تو این تصویر که با بالایی کاملا تفاوت داره؟http://www.tonymarston.net/php-mysql/model-view-controller-02.pngاین تصویر در مورد چه مدلی توضیح داده؟http://www.tonymarston.net/php-mysql/infrastructure-faq-05.pngمعماری سه لایه و MVC نیست آیا اینا رو میشه باهم استفاده کرد و برنامه پیچیده نمیشه؟سه لایه نباید باشه این که فقط دوتاست :)
class Model{ public $string; public function __construct() { $this->string = "MVC + PHP = Awesome, click here!"; }}class View{ private $model; private $controller; public function __construct($controller, $model) { $this->controller = $controller; $this->model = $model; } public function output() { return '' . $this->model->string . "
"; }}class Controller{ private $model; public function __construct($model) { $this->model = $model; } public function clicked() { $this->model->string = "Updated Data, thanks to MVC and PHP!"; }}$model = new Model();$controller = new Controller($model);$view = new View($controller, $model);if (isset($_GET['action']) && !empty($_GET['action'])) { $controller->{$_GET['action']}();}echo $view->output();کنترلر نباید رابطی بین مدل و ویوو باشه پس چرا مدل تو ویوو مستقیما تعریف شده؟ و یا تو این تصویر که با بالایی کاملا تفاوت داره؟http://www.tonymarston.net/php-mysql/model-view-controller-02.pngاین تصویر در مورد چه مدلی توضیح داده؟http://www.tonymarston.net/php-mysql/infrastructure-faq-05.pngمعماری سه لایه و MVC نیست آیا اینا رو میشه باهم استفاده کرد و برنامه پیچیده نمیشه؟سه لایه نباید باشه این که فقط دوتاست :)