
Nedoceněnou vestavěnou komponentou Laravel je příkaz php artisan tinker, který se používá ke spouštění kódu v kontextu aplikace. Podívejme se, čeho je schopná.
Tinker je REPL (read-eval-print loop) nad PsySH. Přijímá data z příkazového řádku, vypočítává je a odesílá do konzole. Takže místo použití nástrojů pro správu databází a psaní SQL dotazů k získání počtu uživatelů můžete jednoduše spustit AppUser::count() a získat výsledek => 10 .
Jak to funguje?
Příkaz php artisan tinker načte vaši aplikaci a čeká na příkazy. Ukládá stav aplikace, dokud nenapíšete exit , Ctrl+C nebo jednoduše nezavřete terminál. To znamená, že musíte inicializovat novou relaci dlabače pokaždé, když změníte svůj kód, ale také vám to umožňuje nastavit nové proměnné, které jsou k dispozici, dokud relaci neukončíte.
Kdy to může být potřeba?
Vždy! Tinker používáme v mnoha případech jak ve vývoji, tak ve výrobě. Nejběžnějším případem použití je přístup k databázi prostřednictvím Laravel Eloquent Models.
Použití výmluvných modelů v Tinker
Tinker je velmi užitečný pro vytváření testovacích dat během vývoje. Pojďme například rychle vytvořit dva nové testovací uživatele s továrnou.
User::factory()->count(2)->create()
Tento příkaz používá továrnu uživatelských modelů a vytváří dvě nové. Výstup tohoto příkazu by měl vypadat nějak takto, s náhodnými jmény a adresami.
=> IlluminateDatabaseEloquentCollection , AppModelsUser , ], >
Změňme příjmení druhého uživatele pomocí php artisan tinker (zadejte a potvrďte každý řádek zvlášť)
$user = User::where('email', '[email protected]')->first(); $user->lastname = 'Smith'; $user->save(); Pokud to funguje, Tinker vrátí => true .
Pokud nechcete spouštět jeden příkaz najednou a model podporuje hromadné přiřazení, můžete jej spustit na jednom řádku.
User::where('email', '[email protected]')->first()->update(['lastname' => 'Carlson']); Neexistují žádná omezení pro práci s Tinkerem, pokud můžete svůj kód vtěsnat do jednoho řádku nebo jej spustit řádek po řádku. S ním máte přístup ke všem funkcím PHP a pomocníkům Laravel.
generování UUID
Namísto googlování internetové služby, která vám vygeneruje UUID, můžete použít Tinker a získat jej pomocí pomocníka Str.
Str::uuid()
Okamžitě vám dá
Vytvoření slimáka z názvu
Str::slug('Nejlepší průvodce php řemeslníkem') => "konečný-průvodce-php-artisan-tinker"
Získání data prvního dne v týdnu po 3 měsících
now()->addMonths(3)->startOfWeek()
Base64 kódování a dekódování
base64_encode('Nejlepší průvodce php řemeslníkem') base64_decode('VGhlIHVsdGltYXRlIGd1aWRlIHRvIHBocCBhcnRpc2FuIHRpbmtlcg==') => "VGhlIHVsdGltYXRlIGd1aWRlIHRvIHBocCBhcnRpc2FuIHRpbmtlcg==" => "Nejlepší průvodce php řemeslníkem"
Odevzdání úkolů
S Tinkerem můžete odesílat úkoly a přidávat k nim data. Jedná se o úsporu reálného času, když vyvíjíte novou úlohu a její zahájení vyžaduje několik kroků. Představte si, že máte úkol, který zpracovává objednávku v systému elektronického obchodu. Při testování úkolu můžete vytvořit mnoho objednávek nebo je jednoduše odeslat přes Tinker. Pokud změníte kód úlohy, nezapomeňte relaci restartovat.
$order = new Order(['invoice_id' => 12345, 'item' => 'Tinker Fangirl Mug']); dispatch(new OrderPlacedJob($order));
Odesílání upozornění
Stejně jako u úkolů můžete také posílat oznámení a zpravodaje prostřednictvím Tinker. V kontextu vaší aplikace se to děje jednoduchým voláním.
(nový uživatel)->notify(new InvoicePaid($invoice);
Kontrola aktuální verze Laravelu
Soubor skladatel.json obsahuje verzi Laravel aplikace Laravel. Můžete to snadno zjistit zavoláním:
app()->version()
=> "8.42.0"
Tinkerwell – Tinker na steroidech
Tinker můžete posunout na ještě silnější úroveň. Představujeme Tinkerwell, editor kódu pro macOS, Windows a Linux, který je celý o Tinkeru. Podporuje vícelinkové, SSH připojení a umožňuje pracovat s více aplikacemi současně.
S Tinkerwell není potřeba restartovat relaci tinker, protože nezávisle vyhodnocuje aktuální stav vašeho kódu a neukládá stav aplikace.
Používání kolekcí
Podpora víceřádků usnadňuje používání kolekcí Laravel a smyček foreach. Například u kolekcí můžete aktualizovat více uživatelů současně:
AppUser::whereNull('confirmed_at') ->get() ->each(function ($user) < $user->update([ 'confirmed_at' => $user->created_at->addDay(), ]); >); Testování API
Při práci s API poskytuje Http fasáda Laravelu rozhraní pro odesílání požadavků GET a POST. S ním můžete přistupovat k API, vidět, jak vypadají jeho data, nebo odesílat svá data před jejich implementací přímo do vaší aplikace.
$apiKey = 'Váš-Forge-API-Klíč'; $response = Http::withHeaders([ 'accept' => 'application/json' ]) ->withToken($apiKey) ->get('https://forge.laravel.com/api/v1/servers') ->json(); collect($response['servers'])->pluck('name'); Náš kanál Telegram – sledujte novinky o Laravelu.
Hlavní věcí ve hře je řemeslo, to znamená vytváření různých předmětů, mechanismů a mnohem více pomocí vytěžených zdrojů, kterých bude potřeba hodně. Začátečníci a nezkušení hráči používají krumpáč k těžbě různých rud a dalších materiálů, aniž by si uvědomili, že hra má na to efektivnější nástroj, jako je kladivo.
Při těžbě zdrojů jakýkoli krumpáč ve hře zabírá plochu jednoho bloku, zatímco kladivo zpracovává plochu 3×3 bloky najednou, a proto je efektivnější pro těžbu různých zdrojů.
![]()
Jak funguje kladivo
V této příručce se podíváme na všechny fáze vytváření železného kladiva, od získání schémat až po vytvoření samotného kladiva. Mnozí se mohou ptát, proč železné kladivo? Je to velmi jednoduché – železo je hlavním kovem pro těžbu na našich serverech.
Vytvoření kladiva Tinkers’ Construct vyžaduje malé množství zdrojů a celý proces lze rozdělit do několika fází.
![]()
Potřebné zdroje pro kladivo Všechny fáze tvorby
První etapa. Vytváření prázdných diagramů

První věc, kterou potřebujeme, jsou čtyři prázdné diagramy, k jejich vytvoření budeme potřebovat 2 dřevěné desky a 2 dřevěné tyče. Můžete použít desky z jakéhokoli dřeva.
Druhá fáze. Vystřihování schémat částí kladiva
Prázdná schémata jsou umístěna v buňce na stole pro vyříznutí dílů. Najdeme díly, které potřebujeme: hlavu kladiva, silnou tyč a velkou desku. Střídavě vybíráme díly, které potřebujeme ze seznamu a nakonec získáme schéma dílu, který potřebujeme.
![]()
Vyříznutí silné tyče Vyříznutí hlavy kladiva Vyříznutí velkého talíře
Třetí etapa. Vytvoření prototypu dřevěného dílu
K vytvoření prototypů kladivových dílů budeme potřebovat vyrobená schémata, dřevěné desky (19 ks) jako materiál a konstruktéra dílů.
Chcete-li vytvořit díl, umístěte diagram do jedné buňky a dřevěné desky do druhé. V důsledku toho bychom měli získat potřebnou část kladiva vyrobenou ze dřeva. Stejným principem získáme další díly Tinkersova kladívka.
![]()
Pevná dřevěná násada Dřevěná hlava kladiva Velká dřevěná deska
Čtvrtá etapa. Tavené odlitky
K výrobě odlitků budete potřebovat tekutý kov. Jako kov na odlitky použijeme zlato; Zlaté cihly ponoříme do huti a počkáme, až se zlato roztaví.
![]()
Tavené zlato Tekuté zlato
Jakmile je kov hotový, položíme dřevěný prototyp dílu na odlévací stůl. Poté otevřeme odlévací kohout a počkáme, až tekutý kov zcela zakryje součást. Po několika sekundách dostaneme hotový odlitek zlaté součásti. Zbytek odlitků uděláme stejným způsobem.
![]()
Odlitek silné tyče Odlitek úderu kladivem Odlitek velkého talíře
Pátá etapa. Části tavicích kladiv
K tavení dílů kladiva vkládáme do tavby železné ingoty. Jakmile je kov roztaven, položíme jeden z odlitků součásti na licí stůl a naplníme roztaveným železem. Za pár sekund dostáváme hotový díl. Vezmeme hotový díl ze stolu a použitý odlitek. A stejným způsobem roztavíme zbývající části kladiva. V důsledku toho potřebujeme natavit jednu hlavu kladiva, jednu silnou tyč a dvě velké desky.
![]()
Příprava železa
![]()
Tavení silné tyče Tavení hlavy kladiva Tavení velkého talíře
Šestá etapa. Výroba Tinkers’ Hammer
Po obdržení všech dílů, které potřebujeme, jdeme do strojírenské kovárny. Ve strojírenské kovárně vybereme nástroj, který potřebujeme, buňky se objeví vpravo pro každý díl zvlášť, nainstalujeme díly do nich a vyrobíme kladivo.
![]()
Kladivo Tinkers je připraveno, ale také jej lze pomocí vylepšení udělat ještě lepší a výkonnější.
Upgrade kladiva
Své kladivo můžete vylepšit pomocí různých materiálů. Každý materiál zlepšuje určité parametry kladiva. Na vylepšení kladiva použijeme diamanty, červený prach a lapis lazuli.
Vylepšení kladiva diamantem
Použití diamantu jako vylepšení vám umožní zvýšit množství zdrojů, které získáváte. To znamená, že před upgradem jste mohli těžit maximálně červený prach, ale po vylepšení diamantem budete moci těžit obsidián.
![]()
Vylepšení kladiva červeným prachem
Použití červeného prachu jako modifikátoru vám umožní zvýšit rychlost těžby. Použití 1 bloku červeného prachu zvyšuje rychlost těžby přibližně o 0,05 jednotky. Pro vylepšení můžete použít 50 bloků červeného prachu, což v konečném důsledku zvýší rychlost výroby o 2,5 jednotky.
![]()
Vylepšete své kladivo lapis lazuli
Lapis lazuli se používá ke zvýšení štěstí. Zvýšení vašeho štěstí vám umožní zvýšit vaše šance na získání více zdrojů při těžbě. A čím více lapis lazuli použijete ke zlepšení, tím větší bude úroveň štěstí a šance získat maximum možných zdrojů. Na našich serverech je množství lapis lazuli pro upgrade kladiva omezeno na 450 jednotek.
![]()
Oprava kladiva Tinkers’ Construct
Chcete-li zachovat pevnost kladiva, můžete jej pravidelně opravovat ve strojírenské kovárně. Kladivo můžete opravit pouze s materiály, ze kterých bylo kladivo vyrobeno. Protože jsme kladivo vyrobili výhradně ze železa, opravíme jej pomocí železných ingotů.
![]()
Doufáme, že vám tento průvodce pomůže hrát na našich serverech. Hodně štěstí a užijte si hru.