[1 z 5] Laravel PHP: Hello

Witam Cię we wprowadzeniu do frameworka PHP o nazwie Laravel.

Chciałbym Ci pokazać, jak szybko i sprawnie postawić prostą aplikację.

Zatem do dzieła.

Początek pracy z Laravelem

Załóżmy, że nigdy do tej pory nie korzystałem z Laravela i nie mam pojęcia jak stworzyć pierwszy program przy jego pomocy. Od czego zacząć?

Możesz zacząć od wejścia tutaj >>> Laravel >>> i zapoznania się z opisem i najważniejszymi zaletami frameworka. Pod tym linkiem znajdziesz też spis wszystkich materiałów edukacyjnych i video, które są poświęcone Laravelowi.

Gdy już wiesz, czym jest Laravel, możesz przejść dalej.

Wpisuję w google: laravel.

Wchodzę na laravel.com i odnajduję dział documentation/installation.

Pierwsze, czym atakują nas twórcy Laravela, to rekomendacja zainstalowania maszyny wirtualnej wyposażonej w kompletne środowisko. Maszyna nazywa się Laravel Homestead i jest instalowana przy współpracy z oprogramowaniem Vagrant.

Jest to całkiem fajna opcja, która zupełnie uniezależnia Twoje lokalne środowisko od środowiska potrzebnego Laravelowi do uruchomienia. Wystarczy, że uruchomisz maszynę wirtualną, która w sobie będzie posiadać wszystkie potrzebne komponenty. Jeśli jednak nie pracujesz na codzień z maszynami wirtualnymi i nie posiadasz skonfigurowanego programu do obsługi maszyn (np. VirtualBox czy VMware) może Ci to chwilę zająć.

Na potrzeby tego tutoriala przejdę drogę samodzielnej instalacji wymaganych komponentów u siebie. Nie wykluczam, że droga z maszyną wirtualną pojawi się z czasem, gdy będzie zainteresowanie z Waszej strony. Dla ambitnych: na stronie laravela jest kompletna instrukcja krok po kroku, jak uruchomić i skonfigurować maszynę Homestead. Spróbujcie swoich sił i dajcie znać, czy się udało.

Tymczasem, wracając do tutoriala…

Wersja PHP

Nie planuję tu pokazywać, jak zainstalować sobie PHP lokalnie. Przykład instalacji na Windows znajdziecie w krótkim filmie tutaj -> Środowisko do nauki PHP. Natomiast ta instalacja nie zapewnia dostępu do PHP z poziomu konsoli.

W przypadku Laravela będzie to niezbędne, gdyż narzędziami konsolowymi będziemy sobie znacznie ułatwiać pracę.

Jak sprawdzić, czy mamy dostęp do PHP z poziomu konsoli?

Uruchom CommandPrompt na Windowsie lub Terminal na Linux/MacOS i wpisz komendę:

php -v

Instalując najnowsze PHP na swoim Windowsie mam następującą wersję:

PHP 7.2.3 (cli) (built: Feb 28 2018 05:47:26) ( ZTS MSVC15 (Visual C++ 2017) x64 ) 
Copyright (c) 1997-2018 The PHP Group 
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Najważniejszą informacją po wykonaniu tej komendy jest wersja PHP, z której obecnie korzystasz. W moim przypadku jest to PHP 7.2.3.

Jeśli otrzymasz coś w rodzaju:

'php' is not recognized as an internal or external command, operable program or batch file.

Znaczy to tyle, że Twój komputer nie potrafi odnaleźć komendy PHP. Możliwości są dwie:

  • albo nie zainstalowałeś PHP
  • albo nie dodałeś ścieżki do php.exe w zmiennej systemowej PATH

W takim wypadku polecam udać się na stronę https://windows.php.net/download/ i pobrać odpowiednią wersję dla swojego systemu (obojętnie, czy wybierzesz thread-safe czy non-thread-safe).

Gdy umieścisz rozpakowany folder php w lokalizacji C:/php, kliknij prawym przyciskiem myszy na dowolny plik .php i wybierz program do uruchomienia (C:/php/php.exe). Tym sposobem system sam skonfiguruje sobie zmienną systemową PATH, by potrafił rozpoznać polecenie php z poziomu terminala.

Jeśli tak się nie stanie, musisz wyedytować zmienną systemową PATH i dopisać tam ścieżkę do pliku php.exe.

Po zakończeniu, zrestartuj komputer dla pewności (choć samo wyłączenie i włączenie terminala powinno wystarczyć). Spróbuj ponownie wpisać php -v w terminalu.

Zakładam, że uzyskałeś odpowiedź pozytywną. Przejdźmy dalej.

Wymagania środowiska dla Laravela

Na stronie laravela możemy odnaleźć następujące wymagania:

  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension

Żeby je wszystkie spełnić, nie musisz instalować każdego rozszerzenia krok po kroku. Wystarczy, że skorzystamy z Composera i dzięki niemu zainstalujemy cały potrzebny zestaw narzędzi dla Laravela.

Instalacja Composera

Instalacja Composera na Windows jest dziecinnie prosta. Wystarczy pobrać plik composer-setup.exe ze strony getcomposer.org i go uruchomić. Instalator doda niezbędne wpisy do zmiennej systemowej PATH, dzięki czemu będziesz miał dostęp do komendy composer z każdego miejsca w Twoim terminalu.

Jeśli programujesz na systemie innym niż Windows, możesz uzyskać ten sam efekt wykonując instrukcje zawarte w tym dziale: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx.

Ważne, by po zakończeniu instalacji, otwierając terminal (konsolę lub wiersz poleceń – zwał jak zwał), system rozpoznał polecenie composer.

U mnie, po wpisaniu tego polecenia, dostaję taki efekt:

Jeśli masz podobnie, lecimy dalej.

Laravel installer

Mając działającego Composera zainstalujmy sobie narzędzie Laravel installer, które będzie tworzyło nam nowe zalążki aplikacji przy pomocy prostej komendy.

Żeby zainstalować installera wpisz w terminalu:

composer global require "laravel/installer"

Po zakończonej instalacji będziesz już mógł utworzyć nowy projekt w Laravelu.

Tworzy się go przy pomocy jednej komendy laravel new [nazwa_projektu]. Ustaw się w terminalu na folderze, w którym chcesz utworzyć projekt (komendy cd i mkdir przydadzą się tutaj bez dwóch zdań). Przykładowo, jeśli chcę utworzyć projekt w folderze c:\php-source\laravel-hello-world, użyję takich poleceń:

C:\Users\marcinwesel>mkdir c:\php-source\laravel-hello-world
C:\Users\marcinwesel>cd c:\php-source\laravel-hello-world
c:\php-source\laravel-hello-world>laravel new hello
Crafting application... 
Loading composer repositories with package information
(...)
Package manifest generated successfully.
Application ready! Build something amazing.

Tym sposobem utworzyliśmy kompletny, czysty projekt startowy Laravela o nazwie hello. Zobaczmy, jaki efekt uzyskaliśmy na dysku:

Mamy tutaj kompletny zestaw wszystkich komponentów niezbędnych do rozwijania aplikacji we frameworku Laravel. Mamy również dostęp do potężnego narzędzia, które nazywa się php artisan. Użyjmy go teraz, by zobaczyć efekt naszej pracy.

Ustaw się w folderze aplikacji i wpisz php artisan serve:

c:\php-source\laravel-hello-world>cd hello
c:\php-source\laravel-hello-world\hello>php artisan serve --port 8001
Laravel development server started: <http://127.0.0.1:8001>

Ja użyłem dodatkowo jawnego ustawienia portu, gdyż lokalnie port 8000 był zajęty przez inny proces. Natomiast, bez dopiski –port, artisan uruchomi lokalnie serwer na porcie 8000.

Na koniec, nie pozostaje Ci nic innego, jak wpisać w przeglądarce adres Twojej strony: http://127.0.0.1:8001 i podziwiać efekt:

Z racji, że miał być Hello World, a nie tylko uruchomienie frameworka, spróbujmy zmienić nagłówek z Laravel, na Hello World.

Laravel trzyma widoki w folderze Resources/Views, stąd wejdę do C:\php-source\laravel-hello-world\hello\resources\views i wyedytuję plik welcome.blade.php. O strukturze i możliwościach plików blade.php będzie inny wpis, jednak na tę chwilę powiem tylko, że przy ich pomocy Laravel renderuje swoje widoki.

Odnajduję głównego diva o klasie „content” i podmieniam napis Laravel na Hello World:

<div class="content">
    <div class="title m-b-md">
        Hello World
    </div>

    <div class="links">
        <a href="https://laravel.com/docs">Documentation</a>
        <a href="https://laracasts.com">Laracasts</a>
        <a href="https://laravel-news.com">News</a>
        <a href="https://forge.laravel.com">Forge</a>
        <a href="https://github.com/laravel/laravel">GitHub</a>
    </div>
</div>

Tym sposobem finalny efekt jest taki:

Gratulacje!

Od tego momentu nic nie stoi na przeszkodzie, by napisać jakąś prostą aplikację w Laravelu. Część instalacyjno-konfiguracyjną masz już za sobą.

W kolejnej części pooglądamy sobie strukturę folderów, którą proponuje Laravel oraz napiszemy trochę kodu PHP.

Przejdź do kolejnej części tutaj >>> [2 z 5] Laravel PHP: Widoki oraz routing, adresy URL

Przejdź do artykułu poświęconego frameworkowi i spisu wszystkich materiałów tutaj >>> Laravel.

Laravel korzysta mocno z wzorca MVC do generowania widoków i przetwarzania zapytań. Jeśli chcesz dogłębnie zrozumieć tę architekturę i napisać własny framework od podstaw, zainteresuje Cię kurs: MVC w PHP od zera.

Tymczasem życzę wszystkiego dobrego i powodzenia w nauce programowania.

6 Responses on this post

  1. C:\php_prog>cd hello

    C:\php_prog\hello>php artisan serve –port 8001
    PHP Warning: require(C:\php_prog\hello/vendor/autoload.php): failed to open stream: No such file or directory in C:\php_prog\hello\artisan on line 18
    PHP Fatal error: require(): Failed opening required 'C:\php_prog\hello/vendor/autoload.php’ (include_path=’.;C:\php\pear’) in C:\php_prog\hello\artisan on line 18

    C:\php_prog\hello>
    w katalogu z projektem nie ma katalogu vendor.
    Przez to serwer nie startuje.
    Jakaś porada jak zaradzić?

    1. Katalog vendor dokłada się automatycznie przy użyciu Composera. Zainstalowałeś projekt Laravela przy użyciu Composera – tak jak to opisałem w tym artykule?

      1. Dzień dobry Panie Marcinie,
        mam podobny problem jak kolega powyżej.
        Wszystko zrobione krok po kroku wg Pana instrukcji.

  2. Zrobiłbym to tak:
    composer create-project –prefer-dist laravel/laravel hello

    composer sam utworzy folder hello i zaciągnie wszystkie potrzebne składniki.
    potem:
    cd hello
    php artisan serve

  3. Właśnie zacząłem przygodę z Laravelem, Przypadkiem znalazłem też ten post. Instalowałem środowisko na CentOS 7 i muszę przyznać, że nie obeszło się bez niewielkich problemów. Mam już działającą maszynę i zaczynam działać. Będę czytał więc proszę o duuuuużo materiałów 😛
    Pozdrawiam

Comments are closed.