我正在尝试为Smarty模板构建一个View类,这样我就可以调用Laravel中的模板View::make('template');
但是,我第一次收到这个错误。我找到了很多解决这个问题的答案,但我无法解决这个问题。我不知道为什么所以我开始有点厌倦了......呵呵呵呵
这是班级:
class View {
public $engine;
protected $tmpl_folder = 'tmpl';
protected $tmpl_compiled = 'tmpl_c';
protected $cache = true;
protected $force = true;
function __construct() {
$this->engine = new Smarty();
$this->engine->compile_check = $this->cache;
$this->engine->force_compile = $this->force;
$this->engine->template_dir = './' . $this->tmpl_folder . '/';
$this->engine->compile_dir = './' . $this->tmpl_compiled;
}
static function make($t, $args = '') {
if(!empty($args))
$this->engine->assing($args);
$this->engine->display($t.'.tpl');
exit();
}}
错误是在方法make()
,line <b>$this->engine->assing($args)</b>
中启动。
我不知道还能做什么!请一些建议!
答案 0 :(得分:0)
让这个工作快速将View类实例化为这样的对象:
mMapFragment = MapFragment.newInstance();
FragmentTransaction fragmentTransaction =
getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.map, mMapFragment);
fragmentTransaction.commit();
然后按照以下方式调用$obj_view = new View();
方法:
make()
我还要声明你的方法(函数)的范围(它们都应该是$obj_view->make('template');
) - 你是为属性(变量)做的,所以为什么不对这些方法也这样做并删除{{来自public
为什么要在static
中拨打make()
?我希望这是用于调试('Dead programs tell no lies')
exit()
让我大笑,这是一个很棒的错字! :)
提示:避免在代码中使用错误的语言(在变量名,注释或调试中)这些语言可由其他开发人员查看,并且可能无意中泄露给最终用户 - 它不专业!