Méthodes d’extension

1. Code de l’entité Person côté backend (C#)

public class Person
{
    private string name;
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    private int age;
    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    //Constructeur sans paramètre
    public Person(){}
    //Constructeur avec paramètres
    public Person(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    //Méthode d’instance sans paramètre
    public string getMyName()
    {
        return this.name;
    }

    //Méthode d’instance multi‑paramètres
    public string JoinStr(string str1, string str2)
    {
        return str1 + str2;
    }
}Langage du code : C# (cs)

Définir les variables d’objet dans le code backend C#

Person pTest = new Person("Tom", 22);
context.Put("pTest", pTest);Langage du code : JavaScript (javascript)

2. Code template VTL & notes de rendu

Appel de méthode<br />
$pTest.getMyName();

#set($a = "hello")
#set($b = "foxdevelop")

$pTest.JoinStr($a, $b);Langage du code : PHP (php)
1. $pTest.getMyName()
  • Appeler la méthode sans paramètre de l’objet getMyName()
  • Valeur retournée Tom

✅ Appel de méthode sans paramètre Velocity : les parenthèses () sont facultatives, $pTest.getMyName équivaut à $pTest.getMyName()

2. $pTest.JoinStr($a, $b)
  • Appel de méthode avec deux paramètres chaîne de caractères
  • VTL interprète d’abord $a, $b et transmet les valeurs réelles "hello", "foxdevelop"
  • Retourne le résultat de concaténation : hellofoxdevelop

Résumé

  1. La casse du nom de méthode est stricte
    C# getMyName()GetMyName(), le template doit respecter exactement la casse du code source.
  2. Passer directement les variables
    Pas de guillemets supplémentaires, $pTest.JoinStr($a,$b) est correct ; évitez $pTest.JoinStr("$a","$b") (transmet la chaîne littérale « $a »)
  3. Différence entre propriété et méthode
  • $pTest.Name → accéder à une propriété (getter)
  • $pTest.getMyName() → appeler une méthode
  1. Les valeurs de retour s’affichent automatiquement
    Écrivez directement $objet.méthode() dans le template, Velocity affiche automatiquement la valeur renvoyée. Utilisez #set pour capturer le résultat sans affichage :
#set($result = $pTest.JoinStr($a,$b))Langage du code : PHP (php)

3. Résultat final du rendu de page

Appel de méthode
Tom;

hellofoxdevelop;

Méthodes d’extension

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *