我想用一个简单的例子,我写测试,但浏览器总是说:PHP指数模型类
Fatal error: Uncaught Error: Class 'Model' not found in C:\xampp\htdocs\mvcFirst\index.php:9 Stack trace: #0 {main} thrown in C:\xampp\htdocs\mvcFirst\index.php on line 9
我搜索在互联网,但没有发现的原因那。 这里是我的代码:
模型类:
<?php class Model { public $string; public function __construct() { $this->string="MVC and PHP are awesome!"; } }
控制器类:
<?php class Controller { private $model; public function __construct($model) { $this->model=$model; } }
视图类:
<?php class View { private $controller; private $model; public function __construct($controller,$model) { $this->controller=$controller; $this->model=$model; } public function output(){ return "<p>".$this->model->string."</p>"; } }
的index.php:
<?php try { $model = new Model(); $controller = new Controller($model); $view = new View($controller, $model); echo $view->output(); }catch (Exception $e){ echo $e->getMessage(); } ?>
有任何建议,我应该心存感激。
了解自动加载机 –
这是由MVC结构的习惯吗? –
在PHP中,你需要包含你需要的文件。你似乎没有这样做。常见的(现代)模式是使用自动加载。这是PHP遇到无法找到的类时运行的函数。它将尝试使用名称空间和类名称加载类。这包括“魔术”并自动为您提供。 – OptimusCrime