Laravel framework, co to jest i jak działa?
Czy wiesz, że PHP to język, który jest wykorzystywany przez 78% stron internetowych? Wśród nich są tacy giganci jak: facebook.com, wikipedia.org czy zoom.us. Dziś jednak opowiem Ci trochę o frameworku Laravel, który opiera się o ten język i według danych z 2019 r. jest używany przez ponad milion stron i aplikacji.
Laravel – co to jest?
Laravel, tak jak już wspomniałem to framework PHP, który jest projektem open-source, czyli dostępnym za darmo, na licencji MIT. Został stworzony już w 2011 roku przez Taylora Otwella.
Jeśli chcesz możesz dołączyć do społeczności wspierającej twórców na Pateron i zyskać kilka benefitów (szczegóły na oficjalnej stronie).
Po co używać Laravela?
Laravel, jak wiele innych frameworków, zapewnia skrót do podstawowych elementów aplikacji internetowej. Dlaczego więc wybrać go zamiast innych dostępnych opcji?
Jednym z najważniejszych powodów jest jego elastyczność. Laravel jest projektem open-source, który umożliwia deweloperom swobodne modyfikowanie kodu, aby dostosować go do specyficznych wymagań projektu. Nie jesteś ograniczony do tego, co Laravel ma do zaoferowania „out of the box” – możesz dodać własne funkcje, biblioteki i rozszerzenia.
Laravel jest również znany z doskonałej obsługi bazy danych. Eloquent ORM, wbudowany w Laravela, jest jednym z najbardziej wydajnych narzędzi do obsługi bazy danych w PHP. Umożliwia łatwe i intuicyjne zarządzanie relacjami między tabelami i danymi.
Co mówi o Laravelu twórca?
Jest to framework do aplikacji webowych z wyrazistą i elegancką składnią. Wierzymy, że wytwarzanie oprogramowania by mogło być satysfakcjonujące, musi sprawiać frajdę i być kreatywne. Laravel stara się uprościć programowanie, poprzez ułatwianie typowych zadań, używanych w większości projektów.
Taylor Otwell
Dokumentacja Laravela
Pracowałem z kilkoma dokumentacjami frameworków i języków programowania, lecz dokumentacja Laravela według mnie jest najlepsza. Znajdziesz w niej:
- kompletne, a jeśli niekompletne to przejrzyste przykłady zastosowania konkretnych funkcji i dodatków,
- szczegółowy poradnik jak zacząć, starter kit aplikacji webowej,
- szczegółowy opis jak działa laravel,
- zakładkę “basics” – z którymi zbudujesz prostą aplikacje webową,
- zakładkę “diggind deeper”, gdzie znajdziesz bardziej zaawansowane informacje o wykorzystaniu konkretnych bibliotek, wykorzystaniu Artisana i wiele innych
- informacje o zabezpieczeniach,
- informacje o ORM, który znacznie ułatwi Ci pracę z bazą i modelami,
- informacje o testach i proste przykłady,
- opisy paczek laravela i wiele innych!
Wszystko to podzielone na wersje od 4.2 do obecnej (w dn 28.01.2022) 8.x.
Starter kits – co to?
Wcześniej wymienione starter kits to pakiety startowe dla Twojej aplikacji wykonywanej w Laravelu. Twórcy wyróżniają dwa pakiety, które trochę się od siebie różnią.
Breeze & Inertia
Breeze to paczka, która udostępnia Ci podstawowe narzędzie autentykacji użytkowników, w skład których wchodzą pliki views, kontrolery, routes i inne zasobby dla Twojej aplikacji, które są w pełni edytowalne.
Po migracji bazy danych i zainstalowaniu tej paczki jesteś w stanie zarejestrować nowego użytkownika i się zalogować.
Inertia.js natomiast to paczka frontendowa, która może być zasilana przez Vue lub Reacta. W zależności od Twoich preferencji możesz wybrać, który z frameworków frontendowych będziesz wykorzystywać już na etapie instalacji breeze.
Breeze & Next.js / API
Breeze udostępnia również api, które możesz wykorzystać do autentykacji użytkowników w nowoczesnych aplikacjach opartych o next.js, nuxt lub inne.
Szczegóły połączenia breeze i next.js znajdziesz na githubie.
Jetstream
Jetstream natomiast to typowe rozwiązanie dla osób zaznajomionych z PHP. Paczka udostępnia mechanizmy rejestracji, logowania, autentykacji, weryfikacji kont przez e-mail, 2FA, zarządzanie sesją i API.
MVC i Laravel
Laravel stosuje architekturę MVC (Model-View-Controller), co sprzyja czystemu i zorganizowanemu kodowi. Ten wzorzec projektowy pomaga w separacji logiki biznesowej od logiki prezentacji, co czyni kod łatwiejszym do zrozumienia, testowania i utrzymania.
Wsparcie dla TDD
Laravel jest również znany ze swojego wsparcia dla Test Driven Development (TDD). Dostarcza on narzędzia, takie jak PHPUnit dla jednostkowych testów i Dusk dla testów przeglądarki, które pomagają deweloperom pisać solidny i niezawodny kod.
Wdrażanie z Laravel Forge
Za pomocą Laravel Forge deweloperzy mogą łatwo wdrożyć swoje aplikacje Laravel na serwerach, takich jak DigitalOcean, Linode, czy AWS. Forge automatyzuje wiele zadań związanych z wdrożeniem, takich jak zarządzanie certyfikatami SSL, konfiguracja serwera i automatyczne wdrażanie z repozytoriów git.
Ciekawostki na temat Laravela
Laravel to nie tylko framework, ale również cały Ecosystem! Co to znaczy?
Laravel zyskał wielu zwolenników, co pozwoliło na tworzenie i rozwój wielu dodatków do niego. Na oficjalnej stronie laravel.com znajdziesz wiele dodatkowych aplikacji, które pozwolą Ci jeszcze łatwiej wytwarzać aplikacje oparte o Laravela.
Co znajdziesz w ecosystemie Laravela?
- Forge – SAAS pozwalający na zarządzanie wieloma aplikacjami Laravel.
- Nova – system zarządzania treścią oparty o Laravela.
- Sail – biblioteka do obsługi dockera w środowisku Laravel.
- Envoyer – SAAS do deployowania Twoich aplikacji opartych o Laravela.
- I wiele, wiele innych!
Społeczność rzemieślników Laravela
Wokół samego Laravela zawiązała się niesamowita społeczność! Na całość społeczności składają się:
- Larajobs.com – ogłoszenia o pracę dla developerów Laravela.
- Blog.laravel.com – blog o Laravelu.
- Laravel-news.com – newsy ze świata Laravela, informacje o nowych wersjach i nie tylko.
- Certification.laravel.com – certyfikacja dla developerów Laravela.
- Laracon – spotkania twórców Laravela z developerami.
- Laracasts.com – platforma do nauki programowania i nie tylko.
Jeśli Cię zainteresowałem, to koniecznie sprawdź ten framework i jego społeczność.
Podsumowanie
Laravel jest potężnym i elastycznym narzędziem dla deweloperów PHP. Jego zrozumiała składnia, wsparcie dla najlepszych praktyk w programowaniu i aktywna społeczność czynią go jednym z najpopularniejszych wyborów wśród frameworków PHP. Jeśli planujesz projekt w PHP, warto rozważyć użycie Laravela.