明白了,在index.php里加上header编码GBK就能正常输出中文了
1 如过是直接实例化smarty 那么 直接用 $对象= new smarty()
$对象->assign()
2 如果是使用类封装引用了 smarty 那么 在类内 用实例化得到对象 去访问当前这个类的方法 ---前提这个方法里面已经 完成了上面一步骤
把 $testModel = M('test');$data = $testModel->get()删除,不需要这两句,再把 $view->assign('nanana', $data);改为$view->assign('str','hahaha');最后一句没有错误,test.tpl中写入{$str} 就可以了,希望能帮到你
用$obj = new name();
在根目录的function.php文件中定义的方法,只要在index.php中引入function.php文件就可以使用该方法
在index.php后面试试加上?controller=test&method=show,可能会显示结果
将$params初始化为一个空数组
你看你的路径设置对了没 , 我跟老师的代码一样 是可以显示出 哈哈哈哈四个字的
说的是你调用成员方法assign()的这个$view不是一个对象!
url写错了,&符号你写成$符号了
可以不要啊!里面都没东西;当然大型项目就不清楚了tpl也可以替换view啊。参考众多的cms
是的,视图层使用Smarty实现。
不用eval,(不安全)
这是加 "\" 是为了输入后面的单引号 相当于" \' " = " ' "
没遇到过你这情况,你把模板文件和smarty部分的代码贴出来看看啊
能告诉我你为什么要清除缓存吗?
所谓的三层开发就是将系统的整个业务应用划分为表示层,业务逻辑层和数据访问层,这样有利于系统的开发、维护、部署和扩展。
上面的来自百度,
所以业务逻辑层就是MVC中的M,模型,代码主要写业务逻辑的
global $view;
这个是因为PHP语言的作用域,就是为了要把上一级、外边(index.php,$view = ORG('smarty', 'Smarty', $smarty_params))定义的$view对象拿到函数里用。不把$view声名成全局变量,在函数内就用不到$view。
说的不错
看看路径吧
你这个应该不是index.php的里面的引用语句有问题,应该是function.php里面的引用有问题吧,你看下,function.php文件
照着视频里开发一个吧
template_c 要给读写权限
嗯,在课程里是这样