W kilku wiadomościach często pojawiają się pytania jak najszybciej wystartować z Laravelem, jak go zainstalować. Z pomocą przychodzi świetna dokumentacja frameworka, która prowadzi nas właściwie krok po kroku. Mimo to, spróbuję pokazać, jak w praktyce wygląda jego świeża instalacja i wstępna konfiguracja.
- Instalujemy Composera.
Composer jest jednym z napopularniejszych narzędzi do zarządzania pakietami, zależnie od systemu operacyjnego jego instalacja może się różnić, jednak nie jest to nic trudnego. Po więcej szczegółow zapraszam na stronę projektu: https://getcomposer.org/doc/00-intro.md - Wybieramy miejsce do umieszczenia projektu i w linii poleceń/terminalu wpisujemy:
1composer create-project --prefer-dist laravel/laravel nazwaProjektu
W ten sposób bo krótkiej chwili Composer ściągnie nam instalację Laravela i postawi jego instancję - Mając zainstalowanego Laravela, potrzebujemy bazy danych. Z tym również nie powinno być problemu, do wyboru mamy ręczną instalację samej bazy mysql (https://dev.mysql.com/downloads/installer/) lub instalację w pakiecie z całym środowiskiem (WAMP, XAMPP).
Którego wyjścia byśmy nie wybrali musimy mieć działający serwer MySQL, utworzyć w nim bazę i znać dane dostępowe.
- Teraz możezmy już modyfikować zmienne środowiskowe z pliku .env:
123456789101112131415161718192021222324252627282930313233APP_NAME=Nazwa aplikacjiAPP_ENV=localAPP_KEY=base64:rF5TpPmGqGzUkPK4/SzrFbXTzU+V0SycyQ3o2UoAFW4=APP_DEBUG=trueAPP_LOG_LEVEL=debugAPP_URL=127.0.0.1:8000 //adres aplikacji, domenaDB_CONNECTION=mysqlDB_HOST=127.0.0.1 //adres serwera mysqlDB_PORT=3306DB_DATABASE=kajaki //nazwa bazyDB_USERNAME=root //nazwa uzytownikaDB_PASSWORD= //hasloBROADCAST_DRIVER=logCACHE_DRIVER=fileSESSION_DRIVER=fileQUEUE_DRIVER=syncREDIS_HOST=127.0.0.1REDIS_PASSWORD=nullREDIS_PORT=6379MAIL_DRIVER=smtpMAIL_HOST=smtp.mailtrap.ioMAIL_PORT=2525MAIL_USERNAME=nullMAIL_PASSWORD=nullMAIL_ENCRYPTION=nullPUSHER_APP_ID=PUSHER_APP_KEY=PUSHER_APP_SECRET=
- Spróbujmy teraz zainstalować domyślny system autentykacji w Laravelu, w tym celu za pomocą Artisana wybieramy:
1php artisan make:auth
Dzięki temu stworzone zostaną kontrolery i modele niezbędne do procesu autentykacji. - Przechodzimy do pliku 2014_10_12_000000_create_users_table.php w katalogu app/database/migrations i dodajemy linijkę:
1$table->char('api_token', 60)->nullable();
tak by cały kod funkcji up() wyglądał następująco:
123456789101112public function up(){Schema::create('users', function (Blueprint $table) {$table->increments('id');$table->string('name');$table->string('email')->unique();$table->string('password');$table->char('api_token', 60)->nullable();$table->rememberToken();$table->timestamps();});}
Dzięki temu dodamy również kolumnę do przechowywania tokenu do autoryzacji API. - W celu migracji schematów baz, wywołujemy:
1php artisan migrate
Jeśli w trakcie migracji otrzymacie błąd:
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytesoznacza to, iż używamy starszej wersji MySQL, w takiej sytuacji należy edytować plik AppServiceProvider z katalogu Providers i nadpisać funkcję boot:
1234567891011use Illuminate\Support\Facades\Schema;/*** Bootstrap any application services.** @return void*/public function boot(){Schema::defaultStringLength(191);} - Udana migracja pozwoli nam na uruchomienie aplikacji poprzez wywołanie serwera:
1php artisan serve
i wybór: 127.0.0.1:8000
W prawym górnym rogu pojawi się również menu logowania, w tym miejscu powinno być możliwe logowanie, rejestracja i wylogowanie.
- Ostatni etap to próba przetestowania naszego API. W tym celu spróbujmy dodać klucz api w tabeli users dla wybranego usera, np:
- Próbujemy uruchomić jedyne dostępne w routes/api.php żądanie api zwróci nam dane użytkownika:
1 |
http://127.0.0.1:8000/api/user?api_token=mykey |
W ten sposób powinniśmy otrzymać wynik w formacie JSON:
Tak oto mamy szybko i łatwo (zaledwie 10 kroków!) przygotowany szkielet aplikacji, która świetnie nadaje się do rozbudowy, czy to w kierunku API, czy też aplikacji webowej wykorzystującej domyślny frontend Laravela.