用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6848|回复: 4
收起左侧

[已解决] 视图如何使用控制器传递过来的类变量?

[复制链接]
发表于 2011-6-23 21:57:08 | 显示全部楼层 |阅读模式
$data = new Someclass();
$this->load->view('blogview', $data);
在blogview视图中如何使用这个类变量?如何理解手册上的这句话:
注意:如果你使用一个对象,那么类变量将转换为数组元素。
能举个例子说明一下吗?
发表于 2011-6-24 09:04:08 | 显示全部楼层
本帖最后由 songjian 于 2011-6-24 09:04 编辑

“注意:如果你使用一个对象,那么类变量将转换为数组元素。”

-------这句话很好理解,你在视图里用print_r()把变量打印出来看看就知道了。

PHP复制代码
$data = new Someclass();
$this->load->view('blogview', $data);
复制代码

-------上面的写法有错误,应该是:
PHP复制代码
$data['sc'] = new Someclass();
$this->load->view('blogview', $data);
复制代码


视图里直接使用$sc

ci里向视图传值应使用数组。
 楼主| 发表于 2011-6-25 09:29:54 | 显示全部楼层
songjian 发表于 2011-6-24 09:04
“注意:如果你使用一个对象,那么类变量将转换为数组元素。”

-------这句话很好理解,你在视图里用print ...

我以为它是自动转换的,原来也需要键,谢啦
发表于 2013-3-20 18:06:34 | 显示全部楼层
这样子在谷歌浏览器中会提示未定义变量sc,是为什么呢
发表于 2013-10-16 22:36:31 | 显示全部楼层
medreams 发表于 2013-3-20 18:06
这样子在谷歌浏览器中会提示未定义变量sc,是为什么呢

class AA
{
public $att='你好';
}
class User extends CI_Controller
{
function show(){
$data['sc'] = new AA();
print_r($data['sc']);
$this->load->view('show_user',$data);
}
echo $sc->att;

本版积分规则