怎么写出来的东西才叫mvc哦。我艹艹艹艹熬

liuser_cn 2012-09-17 12:40:38
本来就不会,还偏让这样写。真TM讨厌。

我分为几个目录,比如model目录,核心目录(数据库类等)。

然后我写一个控制器,用最简单的switch判断请求要查询的model,然后再加个smarty当V。
大致代码好像是
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- -。
...全文
205 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
acabin 2012-09-18
  • 打赏
  • 举报
回复
就是有个类叫做controller,大概是这个样子的
class controller {
function getModel($name) {}
function getView($name) {}
.
.
}
然后每个c继承这个controller,从而使用一些c都会用到的函数
类似的,一般model基类会有数据库连接方法,输入过滤方法,也会有获取其他model的方法
然后如果是有模版的mvc架构,例如joomla,view和模版是区分的,这个时候的view基类会有装载模版、装载对应model方法等等。

getModel($modelName)
这个函数一般大概是这么写的

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];
}
}


上面的factory类,可以是公共类(不过最好只有一个实例),可以是静态类(不过写法要改),也可以是我说的基类。
这是一个简单的动态加载,实际使用的时候最好在外面包try等异常控制。

献丑。
happypiggy2010 2012-09-18
  • 打赏
  • 举报
回复
可以的了。找到自己喜欢的模式就行。
liuser_cn 2012-09-18
  • 打赏
  • 举报
回复
哎,项目不大,TP等等还不会。入口文件稍后会写,配置文件只有一个数据库的配置和所有的包含文件。
问:2,3,4 啥叫基类啊? 我这里好像就一个DB类,
5:getModel($modelName) 这是什么意思?不是自动加载模型吧?能详细聊聊么?


[Quote=引用 6 楼 的回复:]

你的应用场景如何?如果不是非常大的访问量,可以用既有的框架。如果访问量非常大,才需要自己写方法。

如果是一定要自己写框架,那么有几个关键文件

第1个是入口文件,负责分发
第二 三 四个分别是c m v的基类
第五个是通用方法,例如可以写一个getModel($modelName),作用是载入$modelName对应的文件,然后生成一个实例并返回;
再有就是配置文件了

(说……
[/Quote]
xuzuning 2012-09-17
  • 打赏
  • 举报
回复
嗯,差不多这个样子
helloyou0 2012-09-17
  • 打赏
  • 举报
回复

算! !
acabin 2012-09-17
  • 打赏
  • 举报
回复
你的应用场景如何?如果不是非常大的访问量,可以用既有的框架。如果访问量非常大,才需要自己写方法。

如果是一定要自己写框架,那么有几个关键文件

第1个是入口文件,负责分发
第二 三 四个分别是c m v的基类
第五个是通用方法,例如可以写一个getModel($modelName),作用是载入$modelName对应的文件,然后生成一个实例并返回;
再有就是配置文件了

(说的有点乱,真正的mvc会更复杂,见谅)
liuser_cn 2012-09-17
  • 打赏
  • 举报
回复
XX也说了,高校不要拘泥于分数等等,
我也不想用。
[Quote=引用 4 楼 的回复:]

tp的创始人都说了:不拘泥于mvc!
[/Quote]
装逼之王 2012-09-17
  • 打赏
  • 举报
回复
tp的创始人都说了:不拘泥于mvc!
cainiaophper 2012-09-17
  • 打赏
  • 举报
回复
还在纠结中.....
想弄个跟zf那种URL的形式...

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧