M层文件能相互引用吗?
如果有在m层新建了两个文件 一个文件是category_model.php其中有个方法叫 get_category_name_by_id在另个一个文件 article_model.php 文件中
我能调用 get_category_name_by_id 这个方法吗?
如果能该怎么写啊。 load->model 试试,如果能就可以。 我在 article_model.php
public function article
{
$this->load->model('category_model');
$category=new Category_model();
$category->get_category_name_by_id ();
}
这样可以调用到~~感觉上不怎么好
有没有更好的写法 为什么要这么做?
在真正开始写程序前,多了解下MVC这个架构后者说模式的真正思想。 确实是,要用 MVC 的方式思考问题。 如果我在文章显示页面 :要显示文章信息和它所属目录名
你的意思是不是叫我先在c 层调用article_model读出文章信息然后取出目录id然后在调用category_model这个来获取目录名
还有是有别的什么解决方案 public function article()
{
$this->load->model('category_model');
$this->category_model->get_category_name_by_id ();
} 狭隘的用CI对于Model的理解来说,Model对所有数据进行处理(也就是说,Model并不知道也不用管你将对数据如何二次加工以及将会显示在哪里),行为逻辑交给Controller,具体表现交给View(试图只管显示从控制器传递过来的数据,它也不会管这些数据是从哪里来的)。
中间的协调者是控制器。
这是狭隘的MVC架构,对于那些用PHP开始的轻型WEB程序,够用了。尽量将数据层和现实逻辑从处理逻辑中分离出来。
现在知道该怎么做了吗? 本帖最后由 kunwsk 于 2009-8-18 15:30 编辑
7楼的我试过 那样写不行
它会报错
Message: Undefined property: article_model:: $category_model
8楼 感觉好像你是赞同我上面的意见在c层那样处理是不你能不能明确一点~~~~你的解决方法。 猜起来一是好费劲 ,二是不一定准确。我是一个初学者 很多地方都是迷糊的
主要是如果把逻辑全部写c层那样代码会很多 我想如果能一些逻辑判断能不能分散开来
比如:文章 他的可以把一些 获取数据的条件写在m层 或者 通过参数传递给 存储过程 返回你要的结果。我在不同的控制层调用就只需要输入一些必要的条件就可以重用m层的一些方法 修改我想也比较方便 7楼的我试过 那样写不行
它会报错
Message: Undefined property: article_model:: $category_model
8楼 感觉好像你是赞同我上面的意见在c层那样处理是不你能不能明确一点~~~~你的解决方法。 猜起来一是好费 ...
kunwsk 发表于 2009-8-18 15:17 http://codeigniter.org.cn/forums/images/common/back.gif
这是个notice级别的错误,可以设置error_report过滤
关键是你能不能用这个方法获取category_model,能获取不就解决问题了嘛!
页:
[1]
2