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
2016-12-09
說的是你調用成員方法assign()的這個$view不是一個對象!
2017-08-09
$view是從function.php實例化smarty類返回的對象,
2017-04-01
好吧,困擾了這么久突然解決了,是function.php,前面好像是照著老師的視頻抄代碼,在function里多調用了一次大C函數,所以導致了兩個輸出結果,還有是在Smarty實例函數之前調用,所以后面的global沒有生效。
2017-04-01
問題解決了嗎?我也遇到了這個問題,在控制器里global的$view變量是null的,但是在入口文件index.php里實例化的smarty對象是有效的。
2016-12-09
說明你實例化Smarty的時候有問題