laravel

Výukový program Laravel Collection

Výukový program Laravel Collection
Sbírka laravel je užitečným prvkem rámce laravel. Kolekce funguje jako pole PHP, ale je to pohodlnější. Třída kolekce se nachází v Osvětlete \ Podpora \ Sbírka umístění. Kolekce umožňuje vytvořit řetězec metod pro mapování nebo zmenšení polí. Nelze jej měnit a při volání metody kolekce se vrátí nová kolekce. Je to obal API pro funkce pole PHP a z pole lze generovat kolekci. Tento kurz vám ukáže, jak vytvořit a použít kolekci v jakémkoli projektu Laravel.

Předpoklad

Před zahájením tohoto kurzu musíte vytvořit projekt Laravel. Musíte také mít základní znalosti o řadiči a směrování.

Vytvořte sbírku

Vytvořte řadič s názvem CollectionController a napište potřebný kód k vytvoření nové kolekce uvnitř řadiče. Spuštěním následujícího příkazu vytvořte řadič.

$ php artisan make: controller CollectionController

Kolekce můžete vytvořit pomocí třídy kolekce nebo metody collect (). Níže jsou uvedeny oba způsoby. Přidejte následující řádek v horní části CollectionController třída používat sbírka třída.

// Přidejte třídu kolekce
použijte Illuminate \ Support \ Collection;

A. Vytvořit kolekci pomocí třídy

Vytvořte collection_class () metoda s následujícím kódem uvnitř CollectionConntroller. Zde je vytvořena kolekce čísel s třídou kolekce. Když se tato metoda volá, hodnoty proměnné kolekce se zobrazí v prohlížeči.

public function collection_class ()
// Vytvořte novou kolekci pomocí třídy Collection
$ collection1 = nová kolekce ([67,34,89,56,23]);
// vypíše proměnný obsah v prohlížeči
dd ($ kolekce1);

Přidejte následující trasu do trasy \ web.php soubor pro volání collection_class ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / collect1

Po spuštění adresy URL se zobrazí následující výstup. Zde je vytištěno pět čísel sbírky.

B. Vytvořte kolekci pomocí metody

Kolekce může být také vytvořena pomocí sbírat() metoda. Přidejte následující collect_method () uvnitř CollectionController vytvořit kolekci řetězců pomocí sbírat() metoda. Při volání této metody se hodnoty proměnné kolekce zobrazí v prohlížeči jako dříve.

public function collect_method ()
// Vytvořte novou kolekci pomocí metody collect
$ collection2 = collect (["Dobrý", "Lepší", "Nejlepší"]);
// vypíše proměnný obsah v prohlížeči
dd ($ collection2);

Přidejte následující trasu do trasy \ web.php soubor pro volání collect_method ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / collect2

Po spuštění adresy URL se zobrazí následující výstup. Zde jsou vytištěny tři řetězcové hodnoty kolekce.

Hledání dat ve sběru

Data lze z kolekce prohledávat několika způsoby. Přidejte následující kód dovnitř CollectionController. V kódu jsou zobrazeny dva typy vyhledávání. Nejprve je definována kolekce zákazníků a obsahuje () metoda se používá k vyhledání jmenovaného zákazníka „Janifer.'' Dále je definována kolekce vícerozměrného pole a kde() metoda se používá pro dva typy vyhledávání v kolekci. První kde() metoda se používá k vyhledávání informací, kde ID klíč obsahuje hodnotu „011176645.'' Druhý kde() metoda se používá k hledání informací, kde známky z CSE409 je 88.

veřejná funkce search_data ()

// Deklarovat kolekci
$ customer = collect ([['' ''>> 894673 ',' name '=>' Rahman ',' email '=>' [chráněn e-mailem ''],
['id' => '454886', 'name' => 'Janifer', 'email' => '[chráněn e-mailem' '],
['id' => '306007', 'name' => 'Micheal', 'email' => '[e-mail chráněn]']]);
// Hledání pomocí metody contains
if ($ customer-> contains ('name', 'Janifer'))

echo "Janifer existuje v seznamu zákazníků.
";

// Deklarovat další kolekci
$ mark = sbírat ([
['ID' => '011176644', 'známky' => ['CSE401' => 87, 'CSE409' => 88]],
['ID' => '011176645', 'známky' => ['CSE402' => 69, 'CSE409' => 75]],
]);
// Hledání pomocí metody where
echo $ marks-> where ('ID', '011176645')."
";
echo $ mark-> kde ('značky.CSE409 ', 88);

Přidejte následující trasu do trasy \ web.php soubor pro volání search_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / src_collection

Po spuštění adresy URL se zobrazí následující výstup.

Filtrovat data sběru

The filtr() metoda se používá k filtrování dat ze sbírky. Přidejte následující kód do CollectionController. Sbírka produkty je definován v kódu, který obsahuje název produktu a cenu. The filtr() metoda se používá k filtrování dat ze sběru, z nichž cena hodnota je větší než 4000. Kolekce filtrovaných dat je převedena do pole a vytištěna pomocí pro smyčka.

veřejná funkce filter_data ()

// Deklarovat kolekci
$ products = collect ([
['product' => 'HDD', 'price' => 6000],
['product' => 'Myš', 'cena' => 500],
['product' => 'Monitor', 'price' => 5000],
['product' => 'Printer', 'price' => 4000],
]);
// Vytvořte další seznam po filtrování dat na základě hodnoty ceny
$ filter_price = $ products-> filter (function ($ item)
vrátit data_get ($ item, 'price')> 4000;
);
// Načíst všechna data jako pole z nové kolekce
$ filtrováno = $ filtr_cena-> vše ();
// Iterace hodnot pole pomocí smyčky
foreach ($ filtrováno jako $ hodnota)

echo "Název:".$ hodnota ['produkt'].„,“."Cena: ".$ hodnota ['cena']."
";

Přidejte následující trasu do trasy \ web.php soubor pro volání filter_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / filter_collection

Po spuštění adresy URL se zobrazí následující výstup.

Třídit data kolekce

Rozličný třídit v Laravelu existují metody pro třídění dat sběru. Přidejte následující kód do CollectionController. V kódu je definována sbírka knih. The seřazeno podle() metoda se používá k řazení dat sběru na základě klíče 'autor.„Poté se hodnoty proměnné tříděné kolekce vytisknou v prohlížeči.

veřejná funkce sort_data ()
// Deklarovat kolekci
$ books = collect ([
['name' => 'Python Cookbook: Recepty na zvládnutí Pythonu 3',
'author' => 'David Beazley'],
['name' => 'Naučte se Python za 1 den: Kompletní průvodce Pythonem s příklady',
'author' => 'Krishna Rungta'],
['name' => 'Programování v Pythonu: Úvod do informatiky',
'author' => 'John M. Zelle '],
['name' => 'Python Pocket Reference 5ed: Python in Your Pocket',
'author' => 'Mark Lutz']
]);
// Seřaďte data sbírky podle jména autora
$ sortBook = $ books-> sortBy ('author');
// vypíše proměnný obsah v prohlížeči
dd ($ tříděné knihy-> hodnoty () -> toArray ());

Přidejte následující trasu do trasy \ web.php soubor pro volání sort_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / sort_collection

Po spuštění adresy URL se zobrazí následující výstup.

Data shromažďování řezů

Konkrétní část lze vyjmout ze sbírky pomocí vzít() metoda. Přidejte následující kód do CollectionController. The vzít() metoda se v kódu používá k vytvoření nového seznamu vyjmutím prvních tří položek z kolekce. Dále pro smyčka vytiskne hodnoty nové kolekce.

veřejná funkce slice_data ()
// Deklarovat kolekci
$ languages ​​= collect (['PHP', 'Bash', 'Python', 'Java', 'C #', 'C ++']);
// Načíst první tři data
$ slice = $ languages-> take (3);
// Iterační hodnoty kolekce
foreach ($ slice jako $ value)

echo $ value."";

Přidejte následující trasu do trasy \ web.php soubor pro volání slice_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / slice_collection

Po spuštění adresy URL se zobrazí následující výstup.

Najděte rozdíl mezi dvěma kolekcemi

The diff () metoda se používá k vyhledání hodnot z první kolekce, které ve druhé kolekci neexistují. Přidejte následující kód do CollectionController. Zde jsou definovány dvě proměnné kolekce. The diff () metoda generuje novou kolekci po načtení hodnot z seznam1 které neexistují v seznam2.

public function find_diff ()
// Deklarujte dvě kolekce
$ list1 = collect (['Notebook', 'Pen', 'Sharpner', 'Scale', 'Pencil']);
$ list2 = collect (['Pencil', 'Color Pencil', 'Color Paper', 'Pen']);
// Zjistit, která data existují v seznamu1, ale ne v seznamu2
$ newList = $ list1-> diff ($ list2);
// vypíše proměnný obsah v prohlížeči
dd ($ newList);

Přidejte následující trasu do trasy \ web.php soubor pro volání find_diff ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / diff_collection

Po spuštění adresy URL se zobrazí následující výstup.

Překlopit data sběru

The převrátit () metoda se používá k vytvoření klíče k hodnotě a hodnoty ke klíči kolekce. Přidejte následující kód do CollectionController a zkontrolujte funkci převrátit () metoda. V kódu je definována kolekce tří položek. The převrátit () metoda se použije na sběr a výstup souboru převrátit () metoda je vytištěna pomocí dd () metoda.

veřejná funkce flip_data ()
// Deklarovat kolekci
$ products = collect (['name' => 'Samsung A40', 'brand' => 'Samsung', 'price' => '$ 300']);
// vypíše proměnný obsah v prohlížeči
dd ($ products-> flip ());

Přidejte následující trasu do trasy \ web.php soubor pro volání flip_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / flip_collection

Po spuštění adresy URL se zobrazí následující výstup.

Načíst sbírku

The dostat() metoda se používá ke čtení hodnoty konkrétního klíče z kolekce. Přidejte následující kód do CollectionController. Hodnota „název' klíč se načte v kódu pomocí dostat() metoda.

Veřejná funkce retrieve_data ()
// Deklarovat kolekci
$ products = collect (['name' => 'Samsung A40', 'brand' => 'Samsung', 'price' => '$ 300']);
dd ($ products-> get ('name'));

Přidejte následující trasu do trasy \ web.php soubor pro volání retrieve_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / read_collection

Po spuštění adresy URL se zobrazí následující výstup.

Údaje o skupinovém sběru

The skupina vytvořená() metoda se používá k vytvoření nové kolekce z jiné kolekce seskupením na základě konkrétní hodnoty klíče. Přidejte následující kód dovnitř CollectionController. The skupina vytvořená() metoda se zde používá k vrácení nové kolekce seskupením hodnot na základě 'Dubnaklíč.

veřejná funkce group_data()

public function group_data ()
$ sales = collect ([
['Jan' => 100 000],
['Mar' => 500 000],
['Dub' => 600 000],
['Jan' => 450000],
['Jun' => 230000],
['Aug' => 600 000],
['Září' => 789333],
['Jul' => 452000],
['Jan' => 700000],
['Apr' => 490000],
['Jun' => 670000],
['Dub' => 560000]
]);
dd ($ sales-> groupBy ('Apr'));

Přidejte následující trasu do trasy \ web.php soubor pro volání group_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / group_collection

Po spuštění adresy URL se zobrazí následující výstup.

Zkombinujte data sběru

The implode () metoda se používá ke kombinaci konkrétních klíčových hodnot z kolekce. Přidejte následující kód dovnitř CollectionController. The implode () Zde se používá metoda ke kombinování hodnot název klíč kolekce s prostorem.

veřejná funkce join_data ()
// Deklarovat kolekci
$ customer = collect ([['' ''>> 894673 ',' name '=>' Rahman ',' email '=>' [chráněn e-mailem ''],
['id' => '454886', 'name' => 'Janifer', 'email' => '[chráněn e-mailem' '],
['id' => '306007', 'name' => 'Micheal', 'email' => '[e-mail chráněn]']]);
// Zkombinujte a vytiskněte hodnotu
dd ($ customer-> implode ('name', "));

Přidejte následující trasu do trasy \ web.php soubor pro volání join_data ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / join_collection

Po spuštění adresy URL se zobrazí následující výstup.

Přečtěte si klíče pro sběr

The klávesy () metoda se používá k vytvoření nové kolekce se všemi klíči jiné kolekce. Přidejte následující kód dovnitř CollectionController. Kolekce definovaná v kódu obsahuje různé typy dat jako položky, například hodnotu s číselným indexem, hodnotu s klíčem a další pole.

public function read_keys ()
// Deklarovat kolekci
$ mixdata = sbírat ([
['website' => 'google.com ',' type '=>' vyhledávač '],' language '=>' PHP ',
1234, 'name' => 'Fahmida', 'game' => 'PUBG', 'color' => 'blue']);
// Vytiskne novou kolekci generovanou metodou keys ()
dd ($ mixdata-> keys ());

Přidejte následující trasu do trasy \ web.php soubor pro volání read_keys ().

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

Chcete-li zkontrolovat výstup, zadejte do prohlížeče následující adresu URL.

http: // localhost: 8000 / key_collection

Po spuštění adresy URL se zobrazí následující výstup.

Závěr

Sbírka laravel umožňuje provádět s daty mnoho různých typů úkolů, například pole PHP. Některé užitečné metody Laravel Collection jsou vysvětleny v tomto tutoriálu pomocí velmi jednoduchého kódu. Eloquent ORM je další použití kolekce v Laravelu, které není popsáno v tomto kurzu. Jedno hlavní omezení třídy kolekce je, že generuje novou kolekci pokaždé, když se volá metoda, protože není měnitelná. Po přečtení tohoto tutoriálu by čtenář měl nyní znát některá základní použití kolekce Laravel.

Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...
Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...