用了echo输出了数据?怎么能"正确"的调用到视图
在C或者M的方法里用了echo输出了数据?怎么能"正确"的调用到视图调用不正确就是因为在C里.
function test()
{
echo "112";//这里输出的数据很多.不方便存到变量.
}
$data['arc']=$this->test();//程序在这里就会输出112,视图出来的效果是先输出了112然后才是视图本身的内容.
$this->load->view('v_catalog_index',$data); 改成 rewturn "112"; 不就行了。
脑子要灵活点。 回复 2# Hex
后面还有要执行的语句啊.而且必需在echo之后执行 HEX说的是对的,你应该换种方式 回复 4# jeongee
不能用echo的话.那以后肯定还会有更麻烦的问题哦, 回复 5# cbhjatarj
呵呵,你还没理解MVC的意义 回复 5# cbhjatarj
呵呵,我可以很明确的告诉你,不要在控制器里 echo。
所有事情都可以通过视图搞定,这个在大中小项目中都已经实践过了,这个不用怀疑。
你需要把你的具体需求说一下,我才可以给你对症下药。不管你要处理多复杂的数据,都可以放到视图显示。 回复 7# Hex
就是网站栏目的树状结构.因为网站很多地方都会用到.我想写到模型里.方便用.结果用echo就要提前输出/
把函数写在视图里肯定能实现的.但用到的地方就要去写一次.
以前做一个栏目的类
然后在视图需要的地方.实例化调用就行了.我就是想做这样的效果 回复 7# Hex
我把代码发一下你就知道了.
之前我也是写在视图的,不过感觉不太好.我对MVC真的还不怎么了解,以前是怎么好做就怎么弄的.
foreach($type as $row)//这是循环出来的一级栏目
{
echo "<tr>\r\n<td>".$row['typename']."</td>\r\n</tr>\r\n";
echo "<tr><td>\r\n";
echo "<table>\r\n";
list_all_type($row['typeid'],1);
echo "</table>\r\n";
echo "</td>\r\n</tr>";
}
function list_all_type($id,$level)
{
$query = mysql_query('SELECT * FROM arctype '.'WHERE reid='.$id.';');
while ($row = mysql_fetch_array($query))
{
echo "<tr>\r\n<td>".str_repeat(' ',intval($level)).$row['typename']."</td>\r\n</tr>";
echo "<tr><td>\r\n";
echo "<table>\r\n";
list_all_type($row['typeid'], $level+1);
echo "</table>\r\n";
echo "</td>\r\n</tr>";
}
}
HEX大哥帮下我哦,刚刚学老火哟 呵呵,你的意思是想显示网站的栏目,但又不想在每个视图里都加入显示代码?
这个问题,第一个解决方法是使用 HMVC,但是必须在需要显示的地方加一句话,来调用 HMVC 模块。
第二个方法,采用 Layout,可以实现网页布局,就不用在每个地方都写调用代码了。
总之,不要用老的 PHP 代码架构来思考 MVC,这样只会使项目架构越来越乱,变成四不像了。
页:
[1]
2