Definir variables dentro de la plantilla

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 $xxx en 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)
  1. El texto de los comentarios no se envía a la página renderizada;
  2. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *