Nette Documentation Preview

syntax
Λειτουργίες Latte
*****************

.[perex]
Εκτός από τις κοινές συναρτήσεις PHP, μπορείτε επίσης να τις χρησιμοποιήσετε σε πρότυπα.

.[table-latte-filters]
| `clamp` | [συγκρατεί την τιμή στην περιοχή |#clamp]
| `divisibleBy`| [ελέγχει αν μια μεταβλητή διαιρείται με έναν αριθμό |#divisibleBy]
| `even` | [ελέγχει αν ο δεδομένος αριθμός είναι ζυγός |#even]
| `first` | [επιστρέφει το πρώτο στοιχείο του πίνακα ή τον χαρακτήρα της συμβολοσειράς |#first]
| `hasBlock` | [ανιχνεύει την ύπαρξη ενός μπλοκ |#hasBlock]
| `last` | [επιστρέφει το τελευταίο στοιχείο του πίνακα ή τον χαρακτήρα της συμβολοσειράς |#last]
| `odd` | [ελέγχει αν ο δεδομένος αριθμός είναι περιττός |#odd]
| `slice` | [εξάγει ένα τμήμα ενός πίνακα ή μιας συμβολοσειράς |#slice]


Χρήση .[#toc-usage]
===================

Οι συναρτήσεις χρησιμοποιούνται με τον ίδιο τρόπο όπως οι κοινές συναρτήσεις της PHP και μπορούν να χρησιμοποιηθούν σε όλες τις εκφράσεις:

```latte
<p>{clamp($num, 1, 100)}</p>

{if odd($num)} ... {/if}
```

[Οι προσαρμοσμένες συναρτήσεις |extending-latte#functions] μπορούν να καταχωρηθούν με αυτόν τον τρόπο:

```php
$latte = new Latte\Engine;
$latte->addFunction('shortify', fn(string $s, int $len = 10) => mb_substr($s, 0, $len));
```

Το χρησιμοποιούμε σε ένα πρότυπο όπως αυτό:

```latte
<p>{shortify($text)}</p>
<p>{shortify($text, 100)}</p>
```


Λειτουργίες .[#toc-functions]
=============================


clamp(int|float $value, int|float $min, int|float $max): int|float .[method]
----------------------------------------------------------------------------
Επιστρέφει την τιμή που είναι δεσμευμένη στο εύρος των min και max.

```latte
{=clamp($level, 0, 255)}
```

Βλέπε επίσης [filter clamp |filters#clamp]:


divisibleBy(int $value, int $by): bool .[method]
------------------------------------------------
Ελέγχει αν μια μεταβλητή είναι διαιρετή με έναν αριθμό.

```latte
{if divisibleBy($num, 5)} ... {/if}
```


even(int $value): bool .[method]
--------------------------------
Ελέγχει αν ο δεδομένος αριθμός είναι ζυγός.

```latte
{if even($num)} ... {/if}
```


first(string|array $value): mixed .[method]
-------------------------------------------
Επιστρέφει το πρώτο στοιχείο του πίνακα ή τον χαρακτήρα της συμβολοσειράς:

```latte
{=first([1, 2, 3, 4])}    {* έξοδοι 1 *}
{=first('abcd')}          {* έξοδοι 'a' *}
```

Βλέπε επίσης [last |#last], [filter first |filters#first].


hasBlock(string $name): bool .[method]{data-version:3.0.10}
-----------------------------------------------------------
Ελέγχει αν υπάρχει το μπλοκ με το καθορισμένο όνομα:

```latte
{if hasBlock(header)} ... {/if}
```

Δείτε επίσης τον [έλεγχο ύπαρξης μπλοκ |template-inheritance#Checking Block Existence].


last(string|array $value): mixed .[method]
------------------------------------------
Επιστρέφει το τελευταίο στοιχείο του πίνακα ή τον τελευταίο χαρακτήρα της συμβολοσειράς:

```latte
{=last([1, 2, 3, 4])}    {* έξοδοι 4 *}
{=last('abcd')}          {* έξοδοι 'd' *}
```

Βλέπε επίσης [first |#first], [filter last |filters#last].


odd(int $value): bool .[method]
-------------------------------
Ελέγχει αν ο δεδομένος αριθμός είναι περιττός.

```latte
{if odd($num)} ... {/if}
```


slice(string|array $value, int $start, int $length=null, bool $preserveKeys=false): string|array .[method]
----------------------------------------------------------------------------------------------------------
Εξαγάγει μια φέτα ενός πίνακα ή μιας συμβολοσειράς.

```latte
{=slice('hello', 1, 2)}           {* έξοδοι 'el' *}
{=slice(['a', 'b', 'c'], 1, 2)}   {* outputs ['b', 'c'] *}
```

Το φίλτρο slice λειτουργεί όπως η συνάρτηση `array_slice` της PHP για πίνακες και `mb_substr` για συμβολοσειρές με μια υποχώρηση στο `iconv_substr` σε λειτουργία UTF-8.

Εάν η αρχή είναι μη αρνητική, η ακολουθία θα ξεκινήσει από αυτή την αρχή στη μεταβλητή. Εάν το start είναι αρνητικό, η ακολουθία θα ξεκινήσει τόσο μακριά από το τέλος της μεταβλητής.

Αν το length δίνεται και είναι θετικό, τότε η ακολουθία θα έχει μέχρι τόσα στοιχεία. Εάν η μεταβλητή είναι μικρότερη από το μήκος, τότε θα υπάρχουν μόνο τα διαθέσιμα στοιχεία της μεταβλητής. Αν το μήκος δίνεται και είναι αρνητικό, τότε η ακολουθία θα σταματήσει τόσα στοιχεία από το τέλος της μεταβλητής. Αν παραλείπεται, τότε η ακολουθία θα έχει τα πάντα από το offset μέχρι το τέλος της μεταβλητής.

Το φίλτρο θα αναδιατάξει και θα επαναφέρει τα κλειδιά του ακέραιου πίνακα από προεπιλογή. Αυτή η συμπεριφορά μπορεί να αλλάξει θέτοντας το preserveKeys σε true. Τα αλφαριθμητικά κλειδιά διατηρούνται πάντα, ανεξάρτητα από αυτήν την παράμετρο.

Λειτουργίες Latte

Εκτός από τις κοινές συναρτήσεις PHP, μπορείτε επίσης να τις χρησιμοποιήσετε σε πρότυπα.

clamp συγκρατεί την τιμή στην περιοχή
divisibleBy ελέγχει αν μια μεταβλητή διαιρείται με έναν αριθμό
even ελέγχει αν ο δεδομένος αριθμός είναι ζυγός
first επιστρέφει το πρώτο στοιχείο του πίνακα ή τον χαρακτήρα της συμβολοσειράς
hasBlock ανιχνεύει την ύπαρξη ενός μπλοκ
last επιστρέφει το τελευταίο στοιχείο του πίνακα ή τον χαρακτήρα της συμβολοσειράς
odd ελέγχει αν ο δεδομένος αριθμός είναι περιττός
slice εξάγει ένα τμήμα ενός πίνακα ή μιας συμβολοσειράς

Χρήση

Οι συναρτήσεις χρησιμοποιούνται με τον ίδιο τρόπο όπως οι κοινές συναρτήσεις της PHP και μπορούν να χρησιμοποιηθούν σε όλες τις εκφράσεις:

<p>{clamp($num, 1, 100)}</p>

{if odd($num)} ... {/if}

Οι προσαρμοσμένες συναρτήσεις μπορούν να καταχωρηθούν με αυτόν τον τρόπο:

$latte = new Latte\Engine;
$latte->addFunction('shortify', fn(string $s, int $len = 10) => mb_substr($s, 0, $len));

Το χρησιμοποιούμε σε ένα πρότυπο όπως αυτό:

<p>{shortify($text)}</p>
<p>{shortify($text, 100)}</p>

Λειτουργίες

clamp(int|float $value, int|float $min, int|float $max): int|float

Επιστρέφει την τιμή που είναι δεσμευμένη στο εύρος των min και max.

{=clamp($level, 0, 255)}

Βλέπε επίσης filter clamp:

divisibleBy(int $value, int $by)bool

Ελέγχει αν μια μεταβλητή είναι διαιρετή με έναν αριθμό.

{if divisibleBy($num, 5)} ... {/if}

even(int $value): bool

Ελέγχει αν ο δεδομένος αριθμός είναι ζυγός.

{if even($num)} ... {/if}

first(string|array $value)mixed

Επιστρέφει το πρώτο στοιχείο του πίνακα ή τον χαρακτήρα της συμβολοσειράς:

{=first([1, 2, 3, 4])}    {* έξοδοι 1 *}
{=first('abcd')}          {* έξοδοι 'a' *}

Βλέπε επίσης last, filter first.

hasBlock(string $name): bool

Ελέγχει αν υπάρχει το μπλοκ με το καθορισμένο όνομα:

{if hasBlock(header)} ... {/if}

Δείτε επίσης τον έλεγχο ύπαρξης μπλοκ.

last(string|array $value)mixed

Επιστρέφει το τελευταίο στοιχείο του πίνακα ή τον τελευταίο χαρακτήρα της συμβολοσειράς:

{=last([1, 2, 3, 4])}    {* έξοδοι 4 *}
{=last('abcd')}          {* έξοδοι 'd' *}

Βλέπε επίσης first, filter last.

odd(int $value): bool

Ελέγχει αν ο δεδομένος αριθμός είναι περιττός.

{if odd($num)} ... {/if}

slice(string|array $value, int $start, int $length=null, bool $preserveKeys=false): string|array

Εξαγάγει μια φέτα ενός πίνακα ή μιας συμβολοσειράς.

{=slice('hello', 1, 2)}           {* έξοδοι 'el' *}
{=slice(['a', 'b', 'c'], 1, 2)}   {* outputs ['b', 'c'] *}

Το φίλτρο slice λειτουργεί όπως η συνάρτηση array_slice της PHP για πίνακες και mb_substr για συμβολοσειρές με μια υποχώρηση στο iconv_substr σε λειτουργία UTF-8.

Εάν η αρχή είναι μη αρνητική, η ακολουθία θα ξεκινήσει από αυτή την αρχή στη μεταβλητή. Εάν το start είναι αρνητικό, η ακολουθία θα ξεκινήσει τόσο μακριά από το τέλος της μεταβλητής.

Αν το length δίνεται και είναι θετικό, τότε η ακολουθία θα έχει μέχρι τόσα στοιχεία. Εάν η μεταβλητή είναι μικρότερη από το μήκος, τότε θα υπάρχουν μόνο τα διαθέσιμα στοιχεία της μεταβλητής. Αν το μήκος δίνεται και είναι αρνητικό, τότε η ακολουθία θα σταματήσει τόσα στοιχεία από το τέλος της μεταβλητής. Αν παραλείπεται, τότε η ακολουθία θα έχει τα πάντα από το offset μέχρι το τέλος της μεταβλητής.

Το φίλτρο θα αναδιατάξει και θα επαναφέρει τα κλειδιά του ακέραιου πίνακα από προεπιλογή. Αυτή η συμπεριφορά μπορεί να αλλάξει θέτοντας το preserveKeys σε true. Τα αλφαριθμητικά κλειδιά διατηρούνται πάντα, ανεξάρτητα από αυτήν την παράμετρο.