Τύπος συστήματος

Το σύστημα τύπων είναι το κύριο πράγμα για την ανάπτυξη εύρωστων εφαρμογών. Το Latte φέρνει την υποστήριξη τύπων στα πρότυπα. Για να γνωρίζετε τι τύπος δεδομένων ή αντικειμένου είναι κάθε μεταβλητή επιτρέπει

Δύο σημεία που βελτιώνουν σημαντικά την ποιότητα και την ευκολία της ανάπτυξης.

Οι δηλωμένοι τύποι είναι πληροφοριακοί και η Latte δεν τους ελέγχει προς το παρόν.

Πώς να αρχίσετε να χρησιμοποιείτε τύπους; Δημιουργήστε μια πρότυπη κλάση, π.χ. CatalogTemplateParameters, που να αναπαριστά τις παραμέτρους που περνούν:

class CatalogTemplateParameters
{
	public function __construct(
		public string $langs,
		/** @var ProductEntity[] */
		public array $products,
		public Address $address,
	) {}
}

$latte->render('template.latte', new CatalogTemplateParameters(
	address: $userAddress,
	lang: $settings->getLanguage(),
	products: $entityManager->getRepository('Product')->findAll(),
));

Στη συνέχεια, εισάγετε την ετικέτα {templateType} με το πλήρες όνομα της κλάσης (συμπεριλαμβανομένου του χώρου ονομάτων) στην αρχή του προτύπου. Αυτό ορίζει ότι θα υπάρχουν μεταβλητές $langs και $products στο πρότυπο συμπεριλαμβανομένων των αντίστοιχων τύπων. Μπορείτε επίσης να καθορίσετε τους τύπους των τοπικών μεταβλητών χρησιμοποιώντας ετικέτες {var}, {varType} και {define}.

Τώρα το IDE μπορεί να κάνει σωστή αυτόματη συμπλήρωση.

Πώς να αποθηκεύσετε την εργασία; Πώς να γράψετε μια κλάση προτύπου ή τις ετικέτες {varType} όσο το δυνατόν πιο εύκολα; Πάρτε τα που δημιουργούνται. Αυτό ακριβώς κάνει το ζεύγος ετικετών {templatePrint} και {varPrint}. Αν τοποθετήσετε μία από αυτές τις ετικέτες σε ένα πρότυπο, ο κώδικας της κλάσης ή του προτύπου εμφανίζεται αντί της κανονικής απόδοσης. Στη συνέχεια, απλά επιλέξτε και αντιγράψτε τον κώδικα στο έργο σας.

{templateType}

Οι τύποι των παραμέτρων που περνούν στο πρότυπο δηλώνονται με τη χρήση class:

{templateType MyApp\CatalogTemplateParameters}

{varType}

Πώς δηλώνουμε τύπους μεταβλητών; Για το σκοπό αυτό χρησιμοποιήστε την ετικέτα {varType} για μια υπάρχουσα μεταβλητή, ή {var}:

{varType Nette\Security\User $user}
{varType string $lang}

{templatePrint}

Μπορείτε επίσης να δημιουργήσετε αυτή την κλάση χρησιμοποιώντας την ετικέτα {templatePrint}. Αν την τοποθετήσετε στην αρχή του προτύπου, εμφανίζεται ο κώδικας της κλάσης αντί του κανονικού προτύπου. Στη συνέχεια, απλά επιλέξτε και αντιγράψτε τον κώδικα στο έργο σας.

{varPrint}

Η ετικέτα {varPrint} σας εξοικονομεί χρόνο. Εάν την τοποθετήσετε σε ένα πρότυπο, εμφανίζεται η λίστα των ετικετών {varType} αντί της κανονικής απόδοσης. Στη συνέχεια, απλά επιλέξτε και αντιγράψτε τον κώδικα στο πρότυπό σας.

Η ετικέτα {varPrint} απαριθμεί τοπικές μεταβλητές που δεν είναι παράμετροι του προτύπου. Αν θέλετε να παραθέσετε όλες τις μεταβλητές, χρησιμοποιήστε το {varPrint all}.

έκδοση: 3.0