如何写出来的东西才叫mvc哦。小弟我艹艹艹艹熬
程序员文章站
2024-01-17 16:03:10
...
怎么写出来的东西才叫mvc哦。我艹艹艹艹熬
本来就不会,还偏让这样写。真TM讨厌。
我分为几个目录,比如model目录,核心目录(数据库类等)。
然后我写一个控制器,用最简单的switch判断请求要查询的model,然后再加个smarty当V。
大致代码好像是
包含文件更讨厌了,真恶心!
这样写出来,勉强算不算MVC- -。
------解决方案--------------------
就是有个类叫做controller,大概是这个样子的
class controller {
function getModel($name) {}
function getView($name) {}
.
.
}
然后每个c继承这个controller,从而使用一些c都会用到的函数
类似的,一般model基类会有数据库连接方法,输入过滤方法,也会有获取其他model的方法
然后如果是有模版的mvc架构,例如joomla,view和模版是区分的,这个时候的view基类会有装载模版、装载对应model方法等等。
getModel($modelName)
这个函数一般大概是这么写的
本来就不会,还偏让这样写。真TM讨厌。
我分为几个目录,比如model目录,核心目录(数据库类等)。
然后我写一个控制器,用最简单的switch判断请求要查询的model,然后再加个smarty当V。
大致代码好像是
- PHP code
switch($action){ case "add1": $smarty=new Smarty(); $smarty->display("tianjiabumen.tpl"); break; case "del": $id=$_GET['id']; $bm=new bumenmodel(); $bm->id=$id; $bm->delete(); header("location:bumenkongzhiqi.php?action=chaxun"); break;
包含文件更讨厌了,真恶心!
这样写出来,勉强算不算MVC- -。
------解决方案--------------------
就是有个类叫做controller,大概是这个样子的
class controller {
function getModel($name) {}
function getView($name) {}
.
.
}
然后每个c继承这个controller,从而使用一些c都会用到的函数
类似的,一般model基类会有数据库连接方法,输入过滤方法,也会有获取其他model的方法
然后如果是有模版的mvc架构,例如joomla,view和模版是区分的,这个时候的view基类会有装载模版、装载对应model方法等等。
getModel($modelName)
这个函数一般大概是这么写的
- PHP code
class factory(){ function __contruct(){ $this->models = array(); } function & getModel($modelName) { if(!isset($this->models[$modelName])){ require("{MODEL_BASEPATH}/{$modelName}"); $this->models[$modelName] = new $modelName(); } return $this->model[$modelName]; } }相关文章
相关视频
上一篇: php REMOTE_ADDR之获取访客IP的代码
下一篇: AIX环境下安装Sybase