laravel

Tutoriel sur la collection Laravel

Tutoriel sur la collection Laravel
La collection Laravel est une fonctionnalité utile du framework Laravel. Une collection fonctionne comme un tableau PHP, mais c'est plus pratique. La classe de collecte est située dans le Illuminer\Support\Collection emplacement. Une collection vous permet de créer une chaîne de méthodes pour mapper ou réduire des tableaux. Il n'est pas modifiable et une nouvelle collection est renvoyée lorsque la méthode de collection est appelée. C'est un wrapper d'API pour les fonctions de tableau PHP et une collection peut être générée à partir d'un tableau. Ce tutoriel vous montre comment créer et utiliser une collection dans n'importe quel projet Laravel.

Prérequis

Vous devez créer un projet Laravel avant de commencer ce tutoriel. Vous devez également avoir une connaissance de base du contrôleur et du routage.

Créer une collection

Créez le contrôleur nommé Contrôleur de collection et écrivez le code nécessaire pour créer une nouvelle collection à l'intérieur du contrôleur. Exécutez la commande suivante pour créer le contrôleur.

$ php artisan make:controller CollectionController

Vous pouvez créer une collection en utilisant une classe de collection ou la méthode collect(). Les deux manières sont illustrées ci-dessous. Ajoutez la ligne suivante en haut de la Contrôleur de collection classe pour utiliser le collection classer.

//Ajouter la classe de collection
utilisez Illuminate\Support\Collection ;

UNE. Créer une collection à l'aide de la classe

Créer le classe_collection() méthode avec le code suivant dans le Contrôleur de Collection. Ici, une collection de nombres est créée avec une classe de collection. Lorsque cette méthode est appelée, les valeurs de la variable de collection seront affichées dans le navigateur.

fonction publique collection_class()
//Créer une nouvelle collection en utilisant la classe Collection
$collection1 = nouvelle Collection([67,34,89,56,23]);
//dump du contenu de la variable dans le navigateur
jj($collection1) ;

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le classe_collection().

Route::get('collect1', '[email protected]_class');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/collect1

La sortie suivante apparaîtra après l'exécution de l'URL. Les cinq numéros de la collection sont imprimés ici.

B. Créer une collection à l'aide d'une méthode

Une collection peut également être créée en utilisant le collecter() méthode. Ajoutez ce qui suit collect_method() à l'intérieur de Contrôleur de collection pour créer une collection de chaînes en utilisant le collecter() méthode. Lorsque cette méthode est appelée, les valeurs de la variable de collection seront affichées dans le navigateur, comme avant.

fonction publique collect_method()
//Créer une nouvelle collection en utilisant la méthode collect
$collection2 = collect(["Bon", "Mieux", "Meilleur"]);
//dump du contenu de la variable dans le navigateur
dd($collection2) ;

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le collect_method().

Route::get('collect2', '[email protected]_method');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/collect2

La sortie suivante apparaîtra après l'exécution de l'URL. Les trois valeurs de chaîne de la collection sont imprimées ici.

Rechercher des données dans la collection

Les données peuvent être recherchées dans la collection de plusieurs manières. Ajoutez le code suivant à l'intérieur du Contrôleur de collection. Deux types de recherche sont indiqués dans le code. Tout d'abord, une collection de clients est définie, et le contient() méthode est utilisée pour rechercher le client nommé 'Janifer.' Ensuite, une collection du tableau multidimensionnel est définie, et le où() méthode est utilisée pour deux types de recherche dans la collection. La première où() méthode est utilisée pour rechercher les informations, où le identifiant la clé contient la valeur '011176645.' La deuxième où() méthode est utilisée pour rechercher les informations où le Des marques de CSE409 est 88.

fonction publique search_data()

//Déclarer une collection
$customer = collect([['id' => '894673', 'name' => 'Rahman', 'email' => '[email protected]'],
['id' => '454886', 'name' => 'Janifer', 'email' => '[email protected]'],
['id' => '306007', 'name' => 'Micheal', 'email' => '[email protected]']]);
//Recherche à l'aide de la méthode contains
if ($client->contains('nom', 'Janifer'))

echo "Janifer existe dans la liste des clients.
";

//Déclarer une autre collection
$marques = collecter([
['ID' => '011176644', 'marks' => ['CSE401' => 87, 'CSE409' => 88]],
['ID' => '011176645', 'marques' => ['CSE402' => 69, 'CSE409' => 75]],
]);
//Recherche à l'aide de la méthode where
echo $marks->where('ID', '011176645')."
";
echo $marks->where('marks.CSE409', 88);

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le search_data().

Route::get('src_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/src_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Filtrer les données de collecte

le filtre() méthode est utilisée pour filtrer les données de la collection. Ajoutez le code suivant dans Contrôleur de collection. Une collection de des produits est défini dans le code qui contient le nom et le prix du produit. le filtre() méthode est utilisée pour filtrer les données de la collection dont le le prix la valeur est supérieure à 4000. La collection de données filtrées est convertie en un tableau et imprimée par le pour boucle.

fonction publique filter_data()

//Déclarer une collection
$produits = collecter([
['product' => 'HDD', 'price' => 6000],
['product' => 'Souris', 'price' => 500],
['product' => 'Monitor', 'price' => 5000],
['product' => 'Printer', 'price' => 4000],
]);
//Créer une autre liste après avoir filtré les données en fonction de la valeur du prix
$filter_price = $products->filter(function ($item)
return data_get($item, 'price') > 4000 ;
);
//Lire toutes les données sous forme de tableau de la nouvelle collection
$filtered = $filter_price->all();
// Itération des valeurs du tableau à l'aide d'une boucle
foreach($filtré comme $value)

echo "Nom : ".$valeur['produit'].", "."Prix: ".$valeur['prix']."
";

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le filter_data().

Route::get('filter_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/filter_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Trier les données de collecte

Divers sorte des méthodes existent dans Laravel pour trier les données de collection. Ajoutez le code suivant dans le Contrôleur de collection. Une collection de livres est définie dans le code. le Trier par() méthode est utilisée pour trier les données de collecte en fonction de la clé 'auteur.' Ensuite, les valeurs de la variable de collection triée sont imprimées dans le navigateur.

fonction publique sort_data()
//Déclarer une collection
$livres = collecter([
['name' => 'Python Cookbook : Recettes pour maîtriser Python 3',
'auteur' => 'David Beazley'],
['name' => 'Apprendre Python en 1 jour : Guide Python complet avec exemples',
'auteur' => 'Krishna Rungta'],
['name' => 'Programmation Python : Introduction à l'informatique',
'auteur' => 'Jean M. Zelle'],
['name' => 'Python Pocket Reference 5ed : Python dans votre poche',
'auteur' => 'Mark Lutz']
]);
//Trier les données de la collection en fonction du nom de l'auteur
$sortedBook = $books->sortBy('author');
//dump du contenu de la variable dans le navigateur
dd($sortedBook->values()->toArray());

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le tri_données().

Route::get('sort_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/sort_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Données de collecte de tranches

Une portion particulière peut être coupée de la collection en utilisant le prendre() méthode. Ajoutez le code suivant dans le Contrôleur de collection. le prendre() méthode est utilisée dans le code pour créer une nouvelle liste en coupant les trois premiers éléments de la collection. Ensuite, le pour loop imprime les valeurs de la nouvelle collection.

fonction publique slice_data()
//Déclarer une collection
$languages ​​= collect(['PHP', 'Bash', 'Python', 'Java', 'C#', 'C++']);
//Récupération des trois premières données
$slice = $langues->take(3);
//Itération des valeurs de collection
foreach($slice as $value)

echo valeur $." " ;

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le slice_data().

Route::get('slice_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/slice_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Trouvez la différence entre deux collections

le diff() méthode est utilisée pour trouver des valeurs de la première collection qui n'existent pas dans la deuxième collection. Ajoutez le code suivant dans CollectionController. Deux variables de collection sont définies ici. le diff() La méthode génère une nouvelle collection après avoir récupéré les valeurs de liste1 qui n'existent pas dans liste2.

fonction publique find_diff()
//Déclarer deux collections
$list1 = collect(['Notebook', 'Stylo', 'Sharpner', 'Scale', 'Crayon']);
$list2 = collect(['Crayon', 'Crayon de couleur', 'Papier de couleur','Stylo']);
//Recherche quelles données existent dans la liste1 mais pas dans la liste2
$newList = $list1->diff($list2) ;
//dump du contenu de la variable dans le navigateur
dd($newList);

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le find_diff().

Route::get('diff_collection', '[email protected]_diff');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/diff_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Retourner les données de collecte

le retourner() méthode est utilisée pour rendre la clé à la valeur et la valeur à la clé de la collection. Ajoutez le code suivant dans le CollectionController pour vérifier la fonction du retourner() méthode. Une collection de trois éléments est définie dans le code. le retourner() méthode est appliquée à la collecte et à la sortie des retourner() méthode est imprimée en utilisant le jj() méthode.

fonction publique flip_data()
//Déclarer la collection
$products = collect(['name' => 'Samsung A40','brand' => 'Samsung','price' => '$300']);
//dump du contenu de la variable dans le navigateur
dd($produits->flip());

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le flip_data().

Route::get('flip_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/flip_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Récupérer la collection

le obtenir() méthode est utilisée pour lire la valeur d'une clé particulière de la collection. Ajoutez le code suivant dans le Contrôleur de collection. La valeur du 'Nom' clé est récupérée dans le code en utilisant le obtenir() méthode.

Fonction publique retrieve_data()
//Déclarer la collection
$products = collect(['name' => 'Samsung A40','brand' => 'Samsung','price' => '$300']);
dd($produits->get('nom'));

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le récupérer_données().

Route::get('read_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/read_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Données de collecte de groupe

le par groupe() méthode est utilisée pour créer une nouvelle collection à partir d'une autre collection en regroupant en fonction de la valeur de clé particulière. Ajoutez le code suivant à l'intérieur du Contrôleur de collection. le par groupe() est utilisée ici pour renvoyer une nouvelle collection en regroupant les valeurs en fonction du 'avr' clé.

fonction publique group_data()

fonction publique group_data()
$ventes = collecter([
['Jan' => 100000],
['Mar' => 500000],
['Avr' => 600000],
['Jan' => 450000],
['Juin' => 230000],
['Août' => 600000],
['Sep' => 789333],
['juil' => 452000],
['Jan' => 700000],
['Avr' => 490000],
['Juin' => 670000],
['Avr' => 560000]
]);
jj($ventes->groupeBy('Avr'));

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le group_data().

Route::get('group_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/group_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Combiner les données de collecte

le imploser() méthode est utilisée pour combiner des valeurs de clé particulières de la collection. Ajoutez le code suivant à l'intérieur du Contrôleur de collection. le imploser() méthode est utilisée ici pour combiner les valeurs de la Nom clé de la collection avec espace.

fonction publique join_data()
//Déclarer une collection
$customer = collect([['id' => '894673', 'name' => 'Rahman', 'email' => '[email protected]'],
['id' => '454886', 'name' => 'Janifer', 'email' => '[email protected]'],
['id' => '306007', 'name' => 'Micheal', 'email' => '[email protected]']]);
//Combine et imprime la valeur
dd($client->implode('nom', "));

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le join_data().

Route::get('join_collection', '[email protected]_data');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/join_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Lire les clés de collection

le clés() méthode est utilisée pour créer une nouvelle collection avec toutes les clés d'une autre collection. Ajoutez le code suivant à l'intérieur du Contrôleur de collection. La collection définie dans le code contient différents types de données en tant qu'éléments, tels que la valeur avec index numérique, la valeur avec clé et un autre tableau.

fonction publique read_keys()
//Déclarer une collection
$mixdata = collecter([
['website' => 'google.com', 'type' => 'search engine'],'language' => 'PHP',
1234, 'name' => 'Fahmida','game' => 'PUBG','color' =>'blue']);
//Imprime la nouvelle collection générée par la méthode keys()
dd($mixdata->keys());

Ajoutez l'itinéraire suivant dans le itinéraires\web.php fichier pour appeler le read_keys().

Route::get('key_collection', '[email protected]_keys');

Entrez l'URL suivante dans le navigateur pour vérifier la sortie.

http://localhost:8000/key_collection

La sortie suivante apparaîtra après l'exécution de l'URL.

Conclusion

La collection Laravel vous permet d'effectuer de nombreux types de tâches avec des données, comme des tableaux PHP. Certaines méthodes utiles de Laravel Collection sont expliquées dans ce tutoriel en utilisant un code très simple. Eloquent ORM est une autre utilisation de la collection dans Laravel qui n'est pas couverte dans ce tutoriel. Une limitation majeure de la classe collection est qu'elle génère une nouvelle collection chaque fois qu'une méthode est appelée car elle n'est pas modifiable. Après avoir lu ce tutoriel, le lecteur devrait maintenant connaître quelques utilisations de base de la collection Laravel.

Comment afficher la superposition OSD dans les applications et jeux Linux en plein écran
Jouer à des jeux en plein écran ou utiliser des applications en mode plein écran sans distraction peut vous couper des informations système pertinente...
Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...