Tip Sistem
Tip sistemi, sağlam uygulamaların geliştirilmesi için ana unsurdur. Latte şablonlara tip desteği getiriyor. Her değişkenin hangi veri veya nesne türünde olduğunu bilmek
- IDE'nin otomatik tamamlamayı doğru şekilde yapması (bkz. entegrasyon ve eklentiler)
- hataları tespit etmek için statik analiz
Gelişimin kalitesini ve rahatlığını önemli ölçüde artıran iki nokta.
Beyan edilen tipler bilgilendiricidir ve Latte şu anda bunları kontrol etmemektedir.
Türleri kullanmaya nasıl başlanır? İletilen parametreleri temsil eden bir şablon sınıf oluşturun, örneğin
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(),
));
Ardından, şablonun başına tam sınıf adını (ad alanı dahil) içeren {templateType}
etiketini ekleyin. Bu,
şablonda ilgili türler de dahil olmak üzere $langs
ve $products
değişkenleri olduğunu tanımlar.
Yerel değişkenlerin türlerini etiketleri kullanarak da belirtebilirsiniz {var}
, {varType}
ve {define}
.
Artık IDE doğru şekilde otomatik tamamlama yapabilir.
İş nasıl kaydedilir? Bir şablon sınıfı veya {varType}
etiketleri mümkün olduğunca kolay nasıl
yazılır? Bunların oluşturulmasını sağlayın. {templatePrint}
ve {varPrint}
etiket çiftleri tam
olarak bunu yapar. Bu etiketlerden birini bir şablona yerleştirirseniz, normal oluşturma yerine sınıfın veya şablonun kodu
görüntülenir. Daha sonra kodu seçip projenize kopyalamanız yeterlidir.
{templateType}
Şablona aktarılan parametrelerin türleri class kullanılarak bildirilir:
{templateType MyApp\CatalogTemplateParameters}
{varType}
Değişken türleri nasıl bildirilir? Bu amaçla mevcut bir değişken için {varType}
etiketini kullanın veya
{var}
:
{varType Nette\Security\User $user}
{varType string $lang}
{templatePrint}
Bu sınıfı {templatePrint}
etiketini kullanarak da oluşturabilirsiniz. Bunu şablonun başına
yerleştirirseniz, normal şablon yerine sınıfın kodu görüntülenir. Daha sonra kodu seçip projenize kopyalamanız
yeterlidir.
{varPrint}
{varPrint}
etiketi size zaman kazandırır. Bir şablona yerleştirirseniz, normal oluşturma yerine
{varType}
etiketlerinin listesi görüntülenir. Ardından kodu seçip şablonunuza kopyalamanız yeterlidir.
{varPrint}
şablon parametreleri olmayan yerel değişkenleri listeler. Tüm değişkenleri listelemek
istiyorsanız, {varPrint all}
adresini kullanın.