Flex Collection
Flex Collection est une carte ordonnée d'objets qui peut également être utilisée comme une liste.
Collection fournit quelques méthodes utiles, qui peuvent être utilisées pour rendre la sortie, récupérer des objets, filtrer et trier, etc.
Collection de rendu.
render().
render( [layout], [context] ): Block
Rend la collection.
Paramètres:
- layout Nom de la mise en page (
string
) - context Variables supplémentaires pouvant être utilisées dans le fichier de modèle Twig (
array
)
Retour:
- Bloc (
object
) Classe HtmlBlock contenant la sortie
{% render %}
, qui doit être utilisée au lieu d'appeler directement la méthode. Cela permettra aux ressources JS/CSS de la collection de fonctionner correctement.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set page = 2 %}
{% set limit = 10 %}
{% set start = (page - 1) * limit %}
<h2>Contacts:</h2>
{% render contacts.limit(start, limit) layout: 'cards' with { background: 'gray', color: 'white' } %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\ContentBlock\HtmlBlock;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
$page = 2;
$limit = 10;
$start = ($page-1)*$limit;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->limit($start, $limit);
/** @var HtmlBlock $block */
$block = $collection->render('cards', ['background' =>'gray', 'color' => 'white']);
}
Manipulation de collection.
Toutes ces méthodes renvoient une copie modifiée de la collection. La collection originale reste inchangée.
sort().
sort( orderings ): Collection
Trie la collection par liste paires de property : direction
.
Paramètres:
- orderings Ordres Paires de
property : direction
où la direction est soit 'ASC' soit 'DESC' (array
)
Retour:
- Collection (
object
) Nouvelle instance triée de la collection
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contacts = contacts.sort({last_name: 'ASC', first_name: 'ASC'}) %}
<div>Displaying all contacts in alphabetical order:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->sort(['last_name' => 'ASC', 'first_name' => 'ASC']);
// Collection has now be sorted by last name, first name...
}
limit().
limit( start, limit ): Collection
Renvoie un sous-ensemble de la collection à partir de start
et n'incluant qu'un nombre limit
d'objets.
Paramètres:
- start Indice de départ à partir de 0 (`int)
- limit Nombre maximal d'objets (
int
)
Retour:
- Collection (
object
) Nouvelle instance filtrée de la collection
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set page = 3 %}
{% set limit = 6 %}
{% set start = (page - 1) * limit %}
{% set contacts = contacts.limit(start, limit) %}
<div>Displaying page {{ page|e }}:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
$start = 0;
$limit = 6;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->limit($start, $limit);
// Collection contains only the objects in the current page...
}
filterBy().
filterBy( filter ): Collection
Filtrer la collection par liste de paires property : value
.
Paramètres:
- filter Paires de èproperty : value
qui sont utilisées pour filtrer la collection (
array`)
Retour:
- Collection (
object
) Nouvelle instance filtrée de la collection
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contacts = contacts.filterBy({'published': true}) %}
<div>Displaying only published contacts:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
$start = 0;
$limit = 6;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->filterBy(['published' => true]);
// Collection contains only published objects...
}
reverse().
reverse() : Collection
Inverse l'ordre des objets dans la Collection.
Retour:
- Collection (
object
) Nouvelle instance inversée de la collection
sort()
, il est recommandé d'inverser l'ordre car cela permet d'économiser une étape supplémentaire.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contacts = contacts.reverse() %}
<div>Displaying contacts in reverse ordering:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
$start = 0;
$limit = 6;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->reverse();
// Collection is now in reverse ordering...
}
shuffle().
shuffle() : Collection
Mélange les objets dans un ordre aléatoire.
Retour:
- Collection (
object
) Nouvelle instance ordonnée au hasard de la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contacts = contacts.shuffle().limit(0, 6) %}
<div>Displaying 6 random contacts:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->shuffle()->limit(0,6);
// Collection contains 6 random contacts...
}
select().
select( keys ): Collection
Sélectionne des objets (par leurs clés) dans la collection.
Paramètres:
- keys Liste des clés d'objets utilisées pour sélectionner les objets (
array
)
Retour:
- Collection (
object
) Nouvelle instance de la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set selected = ['gizwsvkyo5xtms2s', 'gjmva53uoncdo4sb', 'mfzwwtcugv5hkocd', 'k5nfctkeoftwi4zu'] %}
{% set contacts = contacts.select(selected) %}
<div>Displaying 4 selected contacts:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
$selected = ['gizwsvkyo5xtms2s', 'gjmva53uoncdo4sb', 'mfzwwtcugv5hkocd', 'k5nfctkeoftwi4zu'];
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->select($selected);
// Collection now contains the 4 selected contacts...
}
unselect().
unselect( keys ): Collection
Supprime les objets (par leurs clés) de la collection.
Paramètres:
- keys Liste des clés d'objet utilisées pour supprimer les objets (
array
)
Retour:
- Collection (
object
) Nouvelle instance de la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set ignore = ['gizwsvkyo5xtms2s', 'gjmva53uoncdo4sb', 'mfzwwtcugv5hkocd', 'k5nfctkeoftwi4zu'] %}
{% set contacts = contacts.unselect(ignore) %}
<div>Displaying all but 4 ignored contacts:</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
$ignore = ['gizwsvkyo5xtms2s', 'gjmva53uoncdo4sb', 'mfzwwtcugv5hkocd', 'k5nfctkeoftwi4zu'];
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->unselect($ignore);
// Collection now contains all but 4 ignored contacts...
}
search().
search( string, [properties], [options] ): Collection
Recherche une chaîne dans la collection.
Paramètres:
- string Chaîne de recherche (
string
) - property Propriétés à rechercher, si null (ou non fournies), utilisez les valeurs par défaut (
array
ounull
) - options Options supplémentaires utilisées lors de la recherche (
array
)- commence_par :
bool
- se termine par :
bool
- contient :
bool
- sensible à la casse :
bool
- commence_par :
Retour:
- Collection (
object
) Nouvelle instance filtrée de la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contacts = contacts.search('Jack', ['first_name', 'last_name', 'email'], {'contains': true}) %}
<div>Displaying all search results for 'Jack':</div>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->search('Jack', ['first_name', 'last_name', 'email'], ['contains' => true]);
// Collection now contains all search results...
}
copy().
copy() : Collection
Crée une copie de la collection en clonant tous les objets de la collection.
Retour:
- Collection (
object
) Nouvelle instance de la collection, maintenant avec des objets clonés.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contacts = contacts.shuffle().limit(0, 10) %}
{% set fakes = contacts.copy() %}
{% do fakes.setProperty('first_name', 'JACK') %}
<h2>Fake cards</h2>
{% render fakes layout: 'cards' %}
<h2>Original cards</h2>
{% render contacts layout: 'cards' %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
$collection = $collection->search('Jack', ['first_name', 'last_name', 'email'], ['contains' => true]);
// Collection now contains all search results...
}
Itérer dans la collection.
Les Collections peuvent être itérées.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
<h2>All contacts:</h2>
<ul>
{% for contact in contacts %}
<li>{{ contact.first_name|e }} {{ contact.last_name|e }}</li>
{% endfor %}
</ul>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface $object */
foreach ($collection as $object) {
// Do something with the object...
}
}
first().
first() : Object | false
Définit l'itérateur sur le premier objet de la collection et renvoie cet objet.
Retour:
- Collection (
object
) Premier objet - false Aucun objet dans la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contact = contacts.first() %}
{% if contact %}
<h2>First contact:</h2>
<div>{{ contact.first_name|e }} {{ contact.last_name|e }}</div>
{% endif %}
</ul>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface|false $object */
$object = $collection->first();
if ($object) {
// Do something with the object...
}
}
last().
last() : Object | false
Définit l'itérateur sur le dernier objet de la collection et renvoie cet objet.
Retour:
- Collection (
object
) Dernier objet - false Aucun objet dans la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contact = contacts.last() %}
{% if contact %}
<h2>Last contact:</h2>
<div>{{ contact.first_name|e }} {{ contact.last_name|e }}</div>
{% endif %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface|false $object */
$object = $collection->last();
if ($object) {
// Do something with the object...
}
}
next().
next() : object | false
Déplace la position de l'itérateur vers l'objet suivant et renvoie cet élément.
Retour:
- Collection (
object
) Objet suivant - false Plus d'objets dans la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set first = contacts.first() %}
...
{% set contact = contacts.next() %}
{% if contact %}
<h2>Next contact is:</h2>
<div>{{ contact.first_name|e }} {{ contact.last_name|e }}</div>
{% endif %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface|false $object */
while ($object = $collection->next()) {
// Do something with the object...
}
}
current().
current() : object | false
Obtient l'objet de la collection à la position actuelle de l'itérateur.
Retour:
- Collection (
object
) Objet courant - false Plus d'objets dans la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% do contacts.next() %}
{% do contacts.next() %}
...
{% set contact = contacts.current() %}
{% if contact %}
<h2>Current contact is:</h2>
<div>{{ contact.first_name|e }} {{ contact.last_name|e }}</div>
{% endif %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
while ($collection->next()) {
/** @var FlexObjectInterface|false $object */
$object = $collection->current();
// Do something with the object...
}
}
key().
key() : key | null
Obtient la clé de l'objet à la position actuelle de l'itérateur.
Retour:
- key (
string
) Clé d'objet null
Plus d'objets dans la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% do contacts.next() %}
{% do contacts.next() %}
...
{% set key = contacts.key() %}
{% if key %}
Current contact key is: <strong>{{ key|e }}</strong>
{% endif %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
while ($collection->next()) {
$key = $collection->key();
// Do something with the key...
}
}
Obtenir objet/clé.
Accès au tableau.
Les Collections sont accessibles comme des tableaux associatifs ou des cartes.
null
est renvoyé si l'objet avec la clé donnée n'est pas dans la collection.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contact = contacts['ki2ts4cbivggmtlj']
{# Do something #}
{% if contact %}
{# Got Bruce Day #}
Email for {{ contact.first_name|e }} {{ contact.last_name|e }} is {{ contact.email|e }}
{% else %}
Oops, contact has been removed!
{% endif %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface|null $object */
$object = $collection['ki2ts4cbivggmtlj'];
if ($object) {
// Object exists, do something with it...
}
}
get().
get( clé ): Object | null
Obtient l'objet avec la clé spécifiée.
Paramètres:
- key Clé d'objet (
string
)
Retour:
- Object (
object
) null
L'objet avec la clé donnée n'est pas dans la collection.
Alternative à l'accès aux tableaux.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set contact = contacts.get('ki2ts4cbivggmtlj')
{# Do something #}
{% if contact %}
{# Got Bruce Day #}
Email for {{ contact.first_name|e }} {{ contact.last_name|e }} is {{ contact.email|e }}
{% else %}
Oops, contact has been removed!
{% endif %}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface|null $object */
$object = $collection->get('ki2ts4cbivggmtlj');
if ($object) {
// Object exists, do something with it...
}
}
Collection en tant que tableau.
getKeys().
getKeys() : array
Récupère toutes les clés de la collection.
Retour:
array
Liste des clés
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set keys = contacts.keys() %}
Keys are: {{ keys|join(', ')|e }}
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var string[] $keys */
$keys = $collection->getKeys();
$keysList = implode(', ', $keys);
}
GetObjectKeys().
GetObjectKeys() : array
Alias de la méthode getKeys().
Retour:
array
Liste des clés
getValues().
getValues() : array
Récupère tous les objets de la collection.
Convertit la collection en tableau. Les clés ne sont pas conservées.
Retour:
- Liste des Objects (
array
)
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set list = contacts.values() %}
<ol>
{% for i,object in list %}
<li>#{{ (i+1)|e }}: {{ object.email|e }}</li>
{% endfor %}
</ol>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var FlexObjectInterface[] $objects */
$objects = $collection->getValues();
foreach ($objects as $pos => $object) {
// Do something with the object and its position...
}
}
toArray().
toArray() : array
Obtient une représentation PHP native de tableau de la collection.
Similaire à getValues()
mais préserve les clés.
Retour:
array
Liste de paireskey : Objects
.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set list = contacts.toArray() %}
<ol>
{% for key,object in list %}
<li>ID: {{ key|e }}: {{ object.email|e }}</li>
{% endfor %}
</ol>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var array<string, FlexObjectInterface> $objects */
$objects = $collection->toArray();
foreach ($objects as $key => $object) {
// Do something with the object and its key...
}
}
slice().
slice( offset, length ): array
Extrait une tranche de lenght
éléments commençant à la position offset
de la Collection.
Paramètres:
- offset Décalage de départ à partir de 0 (int).
- lenght Nombre maximal d'objets (int).
Retour:
array
Liste de paireskey : Objects
.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set list = contacts.slice(10, 5) %}
<div>Displaying 5 emails starting from offset 10:</div>
<ol>
{% for key,object in list %}
<li>ID: {{ key|e }}: {{ object.email|e }}</li>
{% endfor %}
</ol>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var array<string, FlexObjectInterface> $objects */
$objects = $collection->slice(10, 5);
// Do something with the object and its key...
}
chunk().
chunk( size ): array
Divise la collection en morceaux d'objets de taille.
Paramètres:
size
Taille des morceaux (int).
Retour:
array
Liste bidimensionnelle de paireskey : Objects
.
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set columns = contacts.limit(0, 10).chunk(5) %}
<div>Displaying two columns of 5 emails each:</div>
<div class="columns">
{% for column,list in columns %}
<div class="column">
{% for object in list %}
<div>{{ object.email|e }}</div>
{% endfor %}
</div>
{% endfor %}
</div>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var array $columns */
$columns = $collection->limit(0, 10)->chunk(5);
/** @var
int $column
array<string, FlexObjectInterface> $objects
*/
foreach ($columns as $column => $objects) {
// Do something with the objects...
}
}
}
group().
group( property ): array
Regrouper les objets de la collection par une propriété et les renvoyer sous forme de tableau associé.
Paramètres:
- property Nom de la propriété utilisée pour regrouper les objets (
string
).
Retour:
array
Liste bidimensionnelle de paireskey : Objects
où la valeur de la propriété est la clé du premier niveau
- Twig
{% set contacts = grav.get('flex').collection('contacts') %}
{% set by_name = contacts.sort({last_name: 'ASC', first_name: 'ASC'}).group('last_name') %}
<div>Displaying contacts grouped by last name:</div>
<div>
{% for last_name,list in by_name %}
{{ last_name|e }}:
<ul>
{% for object in list %}
<li>{{ object.first_name|e }}</li>
{% endfor %}
</ul>
{% endfor %}
</div>
- PHP
use Grav\Common\Grav;
use Grav\Framework\Flex\Interfaces\FlexCollectionInterface;
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
/** @var FlexCollectionInterface|null $collection */
$collection = Grav::instance()->get('flex')->getCollection('contacts');
if ($collection) {
/** @var array $byName */
$byName = $collection->group('last_name');
/** @var
string $lastName
array<string, FlexObjectInterface> $objects
*/
foreach ($byName as $lastName => $objects) {
// Do something with the objects...
}
}
}
Ajout et suppression d'objets.
add().
add( Object )
Ajoute un Object à la fin de la collection.
Paramètres:
- Objet Objet à ajouter (
objet
).
remove().
remove (key): Objet | null
Supprime l'élément à l'index spécifié de la collection.
Paramètres:
- key Clé de l'objet à supprimer (
object
).
Retour:
- Objet Objet supprimé (
object
) ounull
s'il n'a pas été trouvé
removeElement().
removeElement( Object ): bool
Supprime l'objet spécifié de la collection, s'il est trouvé.
Paramètres:
- Objet Objet à supprimer (
object
).
Retour:
true
si l'objet était dans la collection,false
sinon.
clear().
clear()
Efface la collection, supprimant tous les éléments.
Essais.
containsKey().
containsKey( key ): bool
Vérifie si la collection contient un objet avec la clé spécifiée.
Paramètres:
- key Clé à tester (
string
)
Retour:
true
si l'objet est dans la collection,false
sinon
contains().
contains( object ): bool
Vérifie si un élément est contenu dans la collection.
Paramètres:
- Objet Objet à tester (
object
).
Retour:
true
si l'objet est dans la collection,false
sinon
indesOf().
indexOf( objet ): string | false
Obtient l'index/la clé d'un objet donné.
Paramètres:
- Objet Objet à tester (
object
).
Retour:
string
index/key de l'objet,false
si l'objet n'a pas été trouvé.
isEmpty().
isEmpty() : bool
Vérifie si la collection est vide (ne contient aucun objet).
Retour:
true
si la collection est vide,false
sinon.
count().
count') : int
Retour:
int
Nombre d'objets dans la collection.
Actions groupées pour les objets.
hasProperty().
hasProperty( property ): array
Renvoie une liste de paires key:boolean
si l'objet avec key a une propriété définie ou non.
Paramètres:
- property Nom de la propriété (
string
).
Retour:
array
de paires dekey: bool
, oùkey
est la clé de l'objet etbool
est soit vrai soit faux.
getProperty().
getProperty( property, default ): array
Renvoie une liste de key: value
pour chaque objet.
Paramètres:
- property Nom de la propriété (
string
).
Retour:
array
de paires dekey: value
, oùkey
est la clé de l'objet etvalue
est la valeur de la propriété.
setProperty().
setProperty( property, value ): Collection
Définit une nouvelle valeur pour la propriété de chaque objet de la collection.
Paramètres:
- property Nom de la propriété (
string
). - value Nouvelle valeur (
mixed
).
Retour:
- Collection (
object
) La collection pour enchaîner les appels de méthode.
defProperty().
defProperty( property, default ): Collection
Définit la valeur par défaut de la propriété pour chaque objet de la collection.
Paramètres:
- property Nom de la propriété (
string
). - default Valeur par défaut (
mixed
).
Retour:
- Collection (
object
) La collection pour enchaîner les appels de méthode.
unsetProperty().
unsetProperty( property ): Collection
Supprime la valeur de la propriété pour chaque objet de la collection.
Paramètres:
- property Nom de la propriété (
string
).
Retour:
- Collection (
object
) La collection pour enchaîner les appels de méthode.
call().
call( method, arguments): array
Appelle une méthode pour chaque objet de la collection. Renvoie les résultats de chaque appel.
Paramètres:
- method Nom de la méthode (
string
). - arguments Liste des arguments (
array
).
Retour:
- Liste de paires
key: result
(array
)
getTimestamps().
getTimestamps() : array
Renvoie une liste de key : timestamp
pour chaque objet.
Retour:
- Liste de paires
key : timestamp
où l'horodatage est un entier (array
).
getStorageKeys().
getStorageKeys() : array
Renvoie une liste de key: storage_key pour chaque objet.
Retour:
- Liste de paires
key : storage_key
(array
).
getFlexKeys().
getFlexKeys() : array
Renvoie une liste de key : flex_key
pour chaque objet.
Retour:
- Liste de paires
key : flex_key
(array
).
withKeyField().
withKeyField( field ): Collection
Renvoie une nouvelle collection avec une clé différente.
Paramètres:
- field Champ clé (
string
)- 'key' : clé par défaut utilisée par le répertoire
- 'storage_key' : clé de la couche de stockage
- 'flex_key' : clé unique pouvant être utilisée sans connaître le répertoire
Retour:
- Collection (
object
) La collection, mais indexée avec la nouvelle clé.
Tests de fermeture (PHP uniquement).
exist().
exists( Closure ): bool
Teste l'existence d'un objet qui satisfait le prédicat donné.
Paramètres:
- Closure Méthode utilisée pour tester chaque objet.
Retour:
bool
True si votre fonction de rappel renvoie true pour n'importe quel objet.
forAll().
forAll( Closure ): bool
Teste si le prédicat donné est valable pour tous les objets de cette collection.
Paramètres:
- Closure Méthode utilisée pour tester chaque objet.
Retour:
bool
True si votre fonction de rappel renvoie true pour n'importe quel objet.
Filtrage de fermeture (PHP uniquement).
filter.
filter( Closure ): Collection
Renvoie tous les objets de cette collection qui satisfont le prédicat.
L'ordre des éléments est conservé.
Paramètres:
- Closure Méthode utilisée pour tester un seul objet.
Retour:
- Collection (
object
) Nouvelle collection avec tous les objets pour lesquels votre fonction de rappel renvoie true.
map().
map( Closure ): Collection
Applique la fonction donnée à chaque objet de la collection et renvoie une nouvelle collection avec les objets renvoyés par la fonction.
Paramètres:
- Closure Méthode utilisée pour tester un seul objet.
Retour:
- Collection (
object
) Nouvelle collection avec des objets renvoyés par la fonction de rappel.
collectionGroup().
collectionGroup( property ): Collection[]
Regrouper les objets de la collection par un champ et les renvoyer sous forme de tableau associé de collections.
Paramètres:
- property (
string
) Propriété utilisée pour regrouper les objets.
Retour:
array
Plusieurs collections dans un tableau, key étant la valeur de la propriété.
matching().
matching( Criteria ): Collection
Sélectionne tous les objets qui correspondent à l'expression et renvoie une nouvelle collection contenant ces objets.
Paramètres:
- Criteria Expression.
Retour:
- Collection (
object
) Nouvelle collection avec des objets correspondant aux critères.
orderBy().
orderBy( array ): Collection
Réorganise la collection par liste de paires propriété/valeur.
Paramètres:
array
Retour:
- Collection (
object
) Nouvelle collection avec le nouvel ordre.
partition().
partition( Closure ): array
Partitionne cette collection en deux collections selon un prédicat.
Les clés sont conservées dans les collections résultantes.
Paramètres:
- Closue Méthode utilisée pour partitionner un seul objet. Renvoie vrai ou faux.
Retour:
array
Objets partitionnés[[a, b], [c, d, e]]
.