5 przydatnych paczek dla Laravel – cz. 1

Łukasz Piotrowski Komentarzy 0

    Witajcie.

    Nowy rok przynosi nowe wyzwania, nowe plany.
    Moim planem i postanowieniem jest częstsze publikowanie ciekawych treści które przydadzą się każdemu.

    Dziś prezentuję pakiet 5 paczek które przydadzą się w tworzeniu mniejszych lub większych projektów.
    Cykl mam nadzieje będzie składał się z kilku części, ale zobaczymy jak wyjdzie w praniu.

    Dziś na warsztat pójdą:
    – Laravel DebugBar
    – Eloquent-Sluggable
    – Faker
    – TestDummy
    – Laravel 4 Breadcrumbs


    Laravel Debugbar

    debugbar
    Laravel Debugbar jest to po prostu pasek Debugera. Znany jest on m.in. z Symfony gdzie cieszy się bardzo dużą popularnością.
    Główną zaletą tego paska jest dostęp do przeróżnych informacji przydatny podczas tworzenia serwisu.
    Są to m.in:

    • RouteCollector – Pokazuje informacje o aktualnej ścieżce (Route)
    • EventsCollector – Pokazuje wszystkie Eventy
    • LogsCollector – Pokazuje ostatnie wpisy z logów
    • QueryCollector – Pokazuje wykonane zapytania oraz ich czasy

    To tylko niektóre z informacji które można uzyskać. Znajdzie się też informacja o aktualnie zalogowanym użytkowniku i jego sesji.

    Dodatek bardzo przydaje się kwestii informacyjnej; zamiast szukać po plikach szybki rzut okiem i już mamy informację.

    Do pobrania

    – GitHub: https://github.com/barryvdh/laravel-debugbar
    – Composer:

    composer require barryvdh/laravel-debugbar

    Eloquent-Sluggable

    Eloquent-Sluggable to świetna paczka dająca możliwość automatycznego tworzenia Slug podczas zapisywania w BD.
    Konfiguracja jest banalna i sprowadza się do pobrania paczki Composerem, dodania wpisu do ServiceProvidera i dodanie Triat dla modelu który ma obsługiwać Slug.

    Autor obecnie pracuje nad wersjami dla Laravel 4 i 5 więc bez problemu można go już w tej chwili używać do niecnych celów.
    Na uznanie zasługuje jego prostota. Nie trzeba o niczym pamiętać, moduł sam tworzy sobie Slug (również unikalne w skali całej tabeli) i go zapisuje.
    Można go skonfigurować tak aby przy każdym update rekordu zmieniał slug (jeżeli pole z którego czerpie treść się zmieni) lub nie.

    Mamy możliwość np. zdefiniowania własnego separatora słów, unikalności w tabeli, czy nawet własnej metody tworzenia Slug na podstawie jakieś funkcji którą sobie sami napiszemy.

    Do pobrania

    – GitHub: https://github.com/cviebrock/eloquent-sluggable
    – Composer:

    composer require cviebrock/eloquent-sluggable

    Faker

    Faker nie jest może dedykowanym modułem dla Laravel ale genialnie sprawdza się w działaniu.
    Paczka która generuje nam fałszywe dane począwszy od Imienia, Nazwiska, adresy e-mail, po teksty, liczby, daty i wiele wiele innych.
    Na uznanie zasługuje fakt jego prostoty, mnogości opcji oraz możliwość Translacji. Wystarczy przy tworzeniu instancji podać jako argument funkcji create() lokalizację np. pl_PL. I już mamy dostęp do naszych rodzimych "fake" danych. Jeżeli z jakiegoś powodu wybrany generator nie posiada translacji to skrypt automatycznie zwróci dane w domyślnym języku (en_US).

    Ciekawostką jest, że podczas generowania możemy wymusić aby dane generowane były unikalne. Unikalność jest zachowana w obrębie jednej instancji obiektu Faker. Dzięki temu możemy generować liczby które się nie powtarzają lub adresy email jeżeli zapełniamy tabelę użytkowników.

    Przykład użycia:

    $faker = Faker\Factory::create('pl_PL');
    
    echo $faker->name;
      // 'Adam Kowalski';

    Prawda że proste? Dzięki połączeniu Faker i Laravel Seed możemy zapełnić BD gigantyczną ilością danych na potrzeby testów obciążenia.

    Do pobrania

    – GitHub: https://github.com/fzaninotto/Faker
    – Composer:

    composer require fzaninotto/Faker

    TestDummy

    TestDummy to prosty generator danych dla Modelu.

    Dzięki połączeniu TestDummy i Faker możemy bardzo prosto wygenerować 1 uniwersalny wpis dla określonego modelu np:

    $factory('App\User', [
        'username' => $faker->username,
        'password' => $faker->password,
        'role'     => 'member'
    ]);

    Takie coś pozwoli nam wygenerować bardzo prosto 1 lub wiele wpisów dla danego modelu np:

    Factory::times(3)->create('App\User');

    To nam utworzy 3 wpisy dla modelu App\User. Przydatne podczas testowanie naszej aplikacji testami.

    Do pobrania

    – GitHub: https://github.com/laracasts/TestDummy
    – Composer:

    composer require laracasts/testdummy

    Laravel 4 Breadcrumbs

    Ostatnią paczką na dziś jest Laravel 4 Breadcrumbs która jak nazwa wskazuje upraszcza dodawanie Breadcrubs do swojej strony.
    Działa to bardzo prosto.Wystarczy do klasy Controller wrzucić sobie inicializację Breadcrumb która będzie wspólna dla wszystkich stron np. Home czy coś takiego. Potem do konkretnych kontrolerów dodawać kolejne wpisy.
    Całość generujemy sobie w szablonie głównym lub innym. I tyle, prosto, szybko, przyjemnie.

    Do pobrania

    – GitHub: https://github.com/CreITive/Laravel-4-Breadcrumbs
    – Composer:

    composer require creitive/breadcrumbs

    Podsumowanie

    Przytoczone paczki są przydatne ze względu na ich prostotę oraz użyteczność. Najprawdopodobniej wszystkie lub większość paczek posiada już jakieś wsparcie dla Laravel 5 lub po prostu zadziałają.

    Dajcie znać w komentarzach czy używacie i jakie są wasze opinie. Może macie jakieś swoje dobre typy o których warto napisać to też chętnie przeczytam.

    Pozdrawiam Hej!

    Warto poczytać

    Laravel 4 Facade Code completion

    Top