Tout le monde sait que dans thinkphp, nous attribuons des variables au modèle dans le contrôleur, puis obtenons les variables via des balises dans le modèle. Supposons qu'il y ait une variable $name. , alors nous devrions le transmettre dans le modèle.
{$name} est utilisé pour obtenir la valeur de la variable. Le problème se pose ici Supposons qu'il y ait d'autres JS et CSS dans notre modèle. Par exemple, j'ai un morceau de code JS dans le modèle comme suit :
Si le modèle contient le code JS ci-dessus, thinkphp signalera une erreur lors de l'analyse du modèle, car le délimiteur {} apparaît également dans ce JS, thinkphp pensera que { } à l'intérieur est également une balise de modèle, puis il est analysé, mais il ne s'agit en fait que d'un morceau de code JS, donc une erreur est signalée.
Que devons-nous faire lorsque nous rencontrons cette situation ? Voyons comment modifier le délimiteur dans thinkphp :
Dans thinkphp, de nombreuses opérations pour modifier les éléments par défaut du système sont implémentées via le fichier de configuration. La modification du délimiteur d'étiquette se fait également via le fichier de configuration. est spécifié à l'intérieur. Voyons ce qu'il faut faire spécifiquement. Ajoutez le code suivant à config.php :
'<{', 'TMPL_R_DELIM'=>'}>', ); ?>
Nous pouvons également voir à partir du code ci-dessus que le délimiteur d'étiquette a été remplacé par <{ }. >, c'est-à-dire que si nous attribuons maintenant une variable $this->assign('name',$name) dans le contrôleur, nous devrions l'écrire dans le modèle à ce moment-là <{$name}> ; , afin qu'il n'entre pas en conflit avec JS ou CSS.
Tutoriel recommandé : "TP5"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!