首页网站根目录创建如上图文件夹与index.php文件

index.php内容如下

<?php

phpmvc开发网站开辟初级4 之 PHP MVC模式的简略实现 Docker

error_reporting(E_ALL & ~E_NOTICE);

ini_set('display_errors', 'On');

//这里做个自动加载处理,简化一些类文件(如model)加载流程

function __autoload($class_name){

include_once('model/'.$class_name.'.model.php');

}

//取URL?号后面的字符串,然后转换成数组

$query_arr = explode('?', $_SERVER[\"大众REQUEST_URI\"大众]);

parse_str($query_arr[1], $request_arr);

$controller_name = $request_arr['controller'] ? $request_arr['controller'] : 'default';

$action_name = $request_arr['action'] ? $request_arr['action'] : 'index';

require_once 'controller/abstract.php';

require_once 'controller/' . $controller_name . '.ctl.php';

$class = $controller_name . '_Ctl';

$ctl = new $class;

$ctl_action = 'action'.$action_name;

$ctl->{$ctl_action}();

$ctl->execute($controller_name,$action_name);

然后controller目录下创建下图文件

abstract.php内容如下:

<?php

abstract class Abstract_Ctl

{

protected $_vars;

function execute($controller_name, $action_name){

extract($this->_vars);

require_once 'view/' . $controller_name . '/'.$action_name.'.php';

}

function assign($var,$value){

$this->_vars[$var] = $value;

}

}

default.ctl.php内容如下:

<?php

class Default_Ctl extends Abstract_Ctl

{

function actionIndex(){

$model_comment = new Comment();

$str = '这是我的第一个MVC实例';

$this->assign('str',$str);

}

}

然后View目录下创建目录default:

打开default再创建index.php(这个为模板文件,与根目录index.php不同)

其内容如下:

<html>

<meta charset=\"大众utf-8\"大众/>

<head>

<title>我是模板</title>

</head>

<body>

<?php echo $str?>

</body>

</html>

model层的利用留待后面展开时再讲吧,后面的“大略评论系统”开拓会依据实际情形讲解model的运用。

还须要把稳的是,这里讲的都是涉及一些事理性的东西,MVC的思路便是这样。

可能不同的人会有不同的实现办法,因此大家不应该被本

由于头.条号不让放下.载.链.接,如果想得到源代码的朋友请留言评论。