我希望在一个单独的文件中定义全局变量,然后将其注入到我想要的任何位置,所以对于Laravel 4 + Blade,我做到了这一点。Laravel Blade模板中的全局变量
顶层文件example.blade.php:
@include('head')
@include('body')
head.blade.php
$STYLE_PATH_CSS="styleFolder/foundation/css"
$STYLE_PATH_JS="styleFolder/foundation/js"
$STYLE_PATH_JS_VENDOR="styleFolder/foundation/js/vendor"
<link rel="stylesheet" href=" <?php echo $STYLE_PATH_CSS ?>/normalize.css ">
<link rel="stylesheet" href=" <?php echo $STYLE_PATH_CSS ?>/foundation.css ">
<link rel="stylesheet" href=" <?php echo $STYLE_PATH_JS_VENDOR ?>/modernizr.js ">
body.blade.php
<script src="styleFolder/foundation/js/vendor/jquery.js"></script>
<script src="styleFolder/foundation/js/foundation.min.js"></script>
在此之前,它工作正常。然后我希望再简化一次:用全局变量替换重复路径。所以,
variables_G.blade.php
<?php $STYLE_PATH_CSS="styleFolder/foundation/css" ?>
<?php $STYLE_PATH_JS="styleFolder/foundation/js" ?>
<?php $STYLE_PATH_JS_VENDOR="styleFolder/foundation/js/vendor" ?>
和新head.blade.php
@include('variables_G.blade.php')
<link rel="stylesheet" href=" <?php echo $STYLE_PATH_CSS ?>/normalize.css ">
<link rel="stylesheet" href=" <?php echo $STYLE_PATH_CSS ?>/foundation.css ">
<link rel="stylesheet" href=" <?php echo $STYLE_PATH_JS_VENDOR ?>/modernizr.js ">
然后它不能找到变量的值。错误信息:
Undefined variable: STYLE_PATH_CSS.
任何人都可以帮我吗?
最好的做法是在控制器中定义变量,并将其传递给视图... 只要保持它的简单和常规... 使您的应用程序更复杂将导致问题为你未来 –
只需尝试重新构建您的应用代码...'因为您的Laravel确实拥有数百个解决方案 –