我正在用 Kohana 构建我的第一个应用程序,并在其中使用一个基本的模板系统。在我的模板中,我想为页面的各种内容回显变量,但前提是设置了每个变量,并且我想让模板中的代码尽可能短,所以像这样:
<?=$foo?>
如果设置了变量,则工作正常,但如果不是,我会收到通知。所以我认为三元运算符会很好地解决这个问题:
<?=$foo?:''?>
根据 PHP 手册,从 5.3 开始,可以省略中间部分,如果未设置变量,上面应该不输出任何内容,但我仍然收到错误通知。“注意:未定义变量:foo in /”
我可以通过稍微改动来抑制通知来获得所需的结果:
<?=@$foo?:''?>
但我知道这通常不会受到困扰,如果可能的话,我希望有一个更好的解决方案,同时仍将模板文件中的代码保持在最低限度。
以下工作,但它不是那么简洁(主要是因为我的实际变量可能很长):
<?=isset($foo)?$foo:'';?>
我错过了什么或做错了什么?