Les variables globales dans Laravel Lame modèle
Je l'espère, pour définir une variable globale dans un fichier distinct, puis à l'injecter dans la où je veux, donc, pour Laravel 4 + Lame, je l'ai fait.
Haut du fichier 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>
Jusqu'alors, il fonctionne très bien. Alors j'espère pour simplifier une fois de plus: remplacer le double de chemin en variable globale. Donc,
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" ?>
et de nouvelles 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 ">
alors il ne peut pas trouver les variables de valeur. Message d'erreur:
Undefined variable: STYLE_PATH_CSS.
Quelqu'un peut-il m'aider?
La meilleure pratique serait de définir des variables dans vos contrôleurs et les transmet à la vue... Juste garder les choses simples et classiques... Rendre votre application plus compliqué entraînera des problèmes pour vous dans l'avenir
Juste essayer de réinventer votre code d'application... Car en effet, vous avez des centaines de solutions avec Laravel
Juste essayer de réinventer votre code d'application... Car en effet, vous avez des centaines de solutions avec Laravel
OriginalL'auteur web rocker | 2014-03-27
Vous devez vous connecter pour publier un commentaire.
Vues sont censés être stupide, cela signifie également que vous ne devez pas créer des variables à l'intérieur de l'un pour donner à l'autre, vous ne devriez pas donner trop de responsabilité exclusive, d'un point de vue.
La meilleure façon de fournir des variables globales pour Lame de points de Vue et assurez-vous que ils vont être disponible à tout moment à l'aide de
View::share()
:Vous pouvez ajouter ceci à un composers.php fichier et de le charger dans votre
app/start/global.php
:Prendre un coup d'oeil à la doc: http://laravel.com/docs/responses#views
+1 pour expliquer comment l'inclure dans un fichier séparé
OriginalL'auteur Antonio Carlos Ribeiro
View::share();
est le meilleur moyen de faire une variable globale.Pour s'assurer une certaine variable est incluse à chaque fois un certain point de vue est rendu, j'aime Vue les Compositeurs
Vous pouvez inclure des choses quand certaines vues sont rendus. Je suppose que vous pourriez l'utiliser sur votre disposition principale(s), pour rendre les choses presque mondiale. Il donne plus de contrôle, ce qui serait bon si vous avez besoin de quelque chose de largement disponibles, mais si elle est sensible et que vous ne voulez pas partout.
OriginalL'auteur ryanwinchester