Hasta ahora las variables se definían en el código C# de detrás y luego se usaban dentro de las plantillas. De hecho, puedes definir variables directamente en la plantilla mediante la directiva set.
1. Definir variables con #set()
Dos formas de declarar variables:
Método 1: definir variables previamente desde código backend C#/Java y leerlas en la plantilla;
Método 2: definir variables directamente dentro de la plantilla con#set()(punto principal de esta lección)
#set($name = "hello foxdevelop.com")
#set($okay = "common baby")
#set($nameokay = "$name|$okay")Lenguaje del código: PHP (php)
#set(variable = valor)admite cadenas, números, matrices, propiedades de objetos y asignaciones desde otras variables- Tipado débil, no hace falta declarar el tipo de la variable
2. Dos sintaxis y normas para renderizar variables
2.1 Formas básicas
$name: si la variable no existe, imprime literalmente$name$!name: renderizado silencioso; devuelve contenido vacío cuando falta la variable (recomendado para evitar textos extraños$xxxen la página)- Sintaxis estándar recomendada:
${name}(las llaves delimitan explícitamente la variable)
2.2 Ejemplo de problema de límites
#set($name = "hello")
$namehello × el motor lo interpreta como variable $namehello y no la encuentra
${name}hello √ correcto: resuelve $name y concatena el texto helloLenguaje del código: PHP (php)
3. Comentarios de una sola línea ##
## Esto es un comentario, no aparecerá en el resultado final
#set($name = "test") ## también se admiten comentarios al final de líneaLenguaje del código: PHP (php)
- El texto de los comentarios no se envía a la página renderizada;
- No se ven en el código fuente del navegador (el motor de plantillas los elimina durante el procesamiento).
4. Tipos de asignación soportados por #set
## Asignación de cadena
#set($name = "hello world")
## Asignar una variable a otra
#set($obj= $name)
## Asignar propiedades de objeto
#set($obj.Friend = "monica")
#set($obj.Blame = $whitehouse.Leak)
## Llamar método y asignar su valor devuelto
#set($obj.Plan = $spindoctor.weave($web))
## Asignación numérica
#set($obj.Number = 123)
## Asignación de matriz
#set($obj.Say = ["Not", $my, "fault"])Lenguaje del código: PHP (php)
5. Reglas especiales para variables inexistentes
$sadfsdfsdLenguaje del código: PHP (php)
Cuando el motor de plantillas no logra resolver la variable:
- Sintaxis normal
$sadfsdfsd: imprime literalmente el texto$sadfsdfsd - Si usas
$!sadfsdfsd: devuelve cadena vacía cuando la variable no existe
Definir variables dentro de la plantilla
Previous: Sintaxis básica de plantillas