为了账号安全,请及时绑定邮箱和手机立即绑定

view为空,输出不了,为什么?

index.php


require_once('function.php');

require_once('config.php');

//对smarty初始化

$view=ORG('Smarty/','Smarty',$viewconfig);

//设置允许的控制器名和方法名数组

$controllerAllow=array('test','index');

$methodAllow=array('test','index','show');

//in_array函数作用:判断一下这个字符串是否存在于字符串里

$controller=in_array($_GET['controller'],$controllerAllow)?daddslashes($_GET['controller']):'index';

$method=in_array($_GET['method'],$methodAllow)?daddslashes($_GET['method']):'index';

C($controller,$method);


testController

class testController{

function show(){

global $view;

$testModel = M('test');

$data=$testModel->get();

var_dump($view);

$view->assign('str','哈哈哈');

$view->display('test.tpl');

}

}



提示出错:Call to a member function assign() on a non-object

正在回答

5 回答

说的是你调用成员方法assign()的这个$view不是一个对象!

0 回复 有任何疑惑可以回复我~

$view是从function.php实例化smarty类返回的对象,

0 回复 有任何疑惑可以回复我~

好吧,困扰了这么久突然解决了,是function.php,前面好像是照着老师的视频抄代码,在function里多调用了一次大C函数,所以导致了两个输出结果,还有是在Smarty实例函数之前调用,所以后面的global没有生效。

0 回复 有任何疑惑可以回复我~

问题解决了吗?我也遇到了这个问题,在控制器里global的$view变量是null的,但是在入口文件index.php里实例化的smarty对象是有效的。

0 回复 有任何疑惑可以回复我~

说明你实例化Smarty的时候有问题

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

view为空,输出不了,为什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信