如何知道视图中是否设置了变量

时间:2013-07-03 12:23:04

标签: php laravel laravel-4

我想知道是否有办法知道视图中是否存在变量。

我正在为我的应用主题创建自定义表单的构建器,并且我想在HTML标记中包含$errors变量。有什么方法可以知道它是否先前在视图中设置了吗?

更新 我的意思是如何访问视图外的视图var。如何从其他地方访问$ errors var,例如一个包。

我目前正在创建自定义表单构建器:

{{ MyFormBuilder::text('name', 'value', array()) }}

应打印

<input name="name" value="value" ... />
<p>ERRORS NAME REQUIRED</p>

错误<p>仅在发现错误时才会标记此字段。如果text()中出现错误,我想查看我的$errors函数。

我尝试在我的函数中使用global $errors,但它不起作用...

我希望它更清楚一点;)

解决 使用Session::get('errors');; D. 感谢@machuga。

5 个答案:

答案 0 :(得分:15)

这应该有效

if(isset($var))

答案 1 :(得分:4)

您是在谈论$errors类返回的validator变量吗?如果是这样,请不要使用额外的代码来检查它是否存在。来自L4文档:

  

Laravel将始终检查会话数据中的错误,并自动将它们绑定到视图(如果可用)。因此,重要的是要注意每个请求的所有视图中都会提供$ errors变量,这样您就可以方便地假设$ errors变量始终定义并且可以安全使用。

只需检查if( isset($errors))将始终在Laravel 4中返回true

答案 2 :(得分:0)

您可以使用PHP的内置函数isset()来实现此目的。

<强>代码:

if( isset($errors) ){
//your code
}

希望这有帮助!

答案 3 :(得分:0)

if(isset($errors) && !empty($errors)){
// your code here
}

答案 4 :(得分:0)

您正在使用刀片 代码:

&#13;
&#13;
@if($var)
  --php code--
@endif
&#13;
&#13;
&#13;