Tworzenie i uruchamianie projektu Laravel w ServBay
Wprowadzenie
ServBay to zaawansowane narzędzie do lokalnego tworzenia aplikacji webowych, dostępne na macOS i Windows, które integruje najpopularniejsze pakiety programistyczne, w tym PHP, Node.js, Python, Go, Java, różne bazy danych (MySQL, PostgreSQL, MongoDB), systemy cache (Redis, Memcached) oraz serwery WWW (Caddy, Nginx, Apache).
W tym dokumencie dowiesz się, jak szybko utworzyć, skonfigurować i uruchomić projekt Laravel w środowisku ServBay. Wykorzystamy wbudowane środowisko PHP, menedżera pakietów Composer oraz zaawansowane funkcje zarządzania stronami, aby uprościć cały proces.
Czym jest Laravel?
Laravel to popularny, otwartoźródłowy framework PHP do tworzenia aplikacji webowych, opracowany przez Taylora Otwella. Stosuje architekturę MVC (Model-View-Controller) i oferuje wiele gotowych funkcji, które upraszczają typowe zadania programistyczne, takie jak uwierzytelnianie użytkowników, routing, zarządzanie sesjami, cache oraz obsługę baz danych. Laravel jest ceniony za elegancką składnię, bogaty zestaw możliwości oraz silne wsparcie społeczności – idealnie sprawdza się przy tworzeniu nowoczesnych, łatwych w utrzymaniu aplikacji webowych.
Kluczowe funkcje i zalety Laravel
- Elegancka składnia: Przejrzysty i wyrazisty kod, który podnosi efektywność pracy i czytelność aplikacji.
- Eloquent ORM: Potężna implementacja ActiveRecord upraszczająca komunikację z bazą danych.
- Konsola Artisan: Bogaty zestaw narzędzi CLI do migracji baz danych, generowania kodu, uruchamiania testów i innych zadań.
- System szablonów Blade: Prosta składnia szablonów ułatwiająca budowanie dynamicznych widoków.
- Rozbudowany ekosystem: Mnóstwo oficjalnych i społecznościowych paczek, łatwa integracja przez Composer.
- Silne wsparcie społeczności: Aktywna społeczność oferuje mnóstwo zasobów, poradników i rozwiązań.
Dlaczego warto używać ServBay do tworzenia projektów Laravel?
ServBay oferuje wiele udogodnień dla programistów Laravel:
- Zintegrowane środowisko: Domyślnie zainstalowane różne wersje PHP, Composer oraz najważniejsze bazy danych i cache, bez konieczności osobnej instalacji.
- Łatwa administracja: Graficzny interfejs ServBay umożliwia wygodne przełączanie wersji PHP, zarządzanie konfiguracją stron, uruchamianie i zatrzymanie usług.
- Konfigurowalny serwer WWW: ServBay domyślnie używa serwera Caddy i jest wstępnie dostosowany pod popularne frameworki PHP, w tym Laravel.
- Wsparcie HTTPS: ServBay automatycznie generuje certyfikaty SSL dla domen z końcówką
.local
, zapewniając bezpieczne i realistyczne warunki rozwoju lokalnego.
Tworzenie projektu Laravel
SerwBay zaleca przechowywanie wszystkich projektów webowych w dedykowanym katalogu. Pozwala to utrzymać porządek w strukturze plików.
- macOS:
/Applications/ServBay/www
- Windows:
C:\ServBay\www
Sprawdź, czy Composer jest zainstalowany
Composer jest dołączony do ServBay – nie musisz instalować go osobno. Zweryfikuj działanie Composer przez terminal:
bashcomposer --version
1Jeśli polecenie wyświetli numer wersji, wszystko jest gotowe.
Utwórz nowy projekt Laravel
Otwórz terminal, przejdź do sugerowanego katalogu na projekty i utwórz nowy projekt Laravel za pomocą Composer. Projekt nazwijmy
servbay-laravel-app
:macOS:
bashcd /Applications/ServBay/www # Utworzenie katalogu projektu mkdir servbay-laravel-app # Wejście do katalogu projektu cd servbay-laravel-app # Utworzenie projektu Laravel w bieżącym katalogu composer create-project --prefer-dist laravel/laravel .
1
2
3
4
5
6
7Windows:
cmdcd C:\ServBay\www # Utworzenie katalogu projektu mkdir servbay-laravel-app # Wejście do katalogu projektu cd servbay-laravel-app # Utworzenie projektu Laravel w bieżącym katalogu composer create-project --prefer-dist laravel/laravel .
1
2
3
4
5
6
7Composer pobierze i zainstaluje Laravel wraz ze wszystkimi zależnościami.
Wejdź do katalogu projektu
Upewnij się, że terminal znajduje się w katalogu głównym nowo utworzonego projektu Laravel:
macOS:
bashcd /Applications/ServBay/www/servbay-laravel-app
1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app
1
Pierwsza konfiguracja
Wygeneruj klucz aplikacji
Laravel wykorzystuje klucz aplikacji do zabezpieczenia sesji i szyfrowania danych. W katalogu głównym projektu uruchom polecenie Artisan, aby wygenerować klucz:
Ścieżka do katalogu głównego projektu:
- macOS:
/Applications/ServBay/www/servbay-laravel-app
- Windows:
C:\ServBay\www\servbay-laravel-app
bashphp artisan key:generate
1Polecenie ustawi wartość
APP_KEY
wewnątrz pliku.env
.- macOS:
Skonfiguruj plik środowiskowy (
.env
)Laravel korzysta z pliku
.env
do ustawień środowiska, jak połączenia z bazą danych czy adres aplikacji. Edytuj plik.env
w katalogu głównym projektu — ważne, by poniższe pola miały poprawne wartości:dotenvAPP_NAME=ServBay Laravel Demo APP_ENV=local APP_KEY=base64:... # Wartość wygenerowana przez php artisan key:generate APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack # Przykład konfiguracji bazy danych MySQL DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app # Nazwa bazy danych do użycia DB_USERNAME=root # Domyślny użytkownik bazy w ServBay DB_PASSWORD=password # Domyślne hasło bazy w ServBay # Przykład konfiguracji cache/kolejki Redis CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Brak hasła dla Redis w ServBay REDIS_PORT=6379 # Przykład konfiguracji cache/kolejki Memcached # CACHE_STORE=memcached # MEMCACHED_HOST=127.0.0.1 # MEMCACHED_PORT=11211
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26Uwaga: W zależności od używanej bazy danych lub usługi możesz wymagać zmiany pól
DB_*
,REDIS_*
alboMEMCACHED_*
. Dane dostępowe sprawdzisz w panelu ServBay.
Konfiguracja serwera WWW (dodawanie strony w ServBay)
Skorzystaj z panelu zarządzania stronami w ServBay, aby skierować domenę na katalog public
swojego projektu Laravel.
Otwórz panel ServBay
Uruchom aplikację ServBay i przejdź do panelu sterowania.
Dodaj nową stronę
W panelu ServBay znajdź sekcję „Strony”. Zazwyczaj wybierz przycisk „+” lub podobny, aby dodać nową stronę.
Uzupełnij informacje o stronie
Skonfiguruj stronę według poniższego przykładu:
Nazwa:
My First Laravel Dev Site
(dowolny, pomocny opis)Domena:
servbay-laravel-test.local
(adres do użycia w przeglądarce)Typ strony:
PHP
Wersja PHP: wybierz pasującą do wersji Laravel, np.
8.3
Katalog główny strony:
- macOS:
/Applications/ServBay/www/servbay-laravel-app/public
- Windows:
C:\ServBay\www\servbay-laravel-app\public
(Ważne: katalog musi wskazywać na podkatalog
public
projektu Laravel)- macOS:
Po więcej szczegółów i opcji przejrzyj dokumentację ServBay: dodaj pierwszą stronę (sprawdź anglojęzyczną wersję).
Zapisz i zastosuj zmiany
Zapisz konfigurację. ServBay automatycznie zaktualizuje ustawienia serwera WWW (domyślnie Caddy). Jeżeli pojawi się komunikat o potrzebie restartu serwera, wykonaj zalecaną operację.
Sprawdzenie działania strony
Twój projekt Laravel jest gotowy do pracy pod wskazaną domeną.
Otwórz przeglądarkę
Wpisz skonfigurowaną domenę, np.
https://servbay-laravel-test.local
.Sprawdź wynik
Jeśli wszystko ustawione jest prawidłowo, powinieneś zobaczyć stronę powitalną Laravel.
Dodanie przykładowego kodu
Aby łatwo zweryfikować działanie, możesz w pliku routes/web.php
dodać prosty rout wyświetlający „Hello ServBay!”.
Otwórz plik routes/web.php
i dodaj lub zmodyfikuj poniższą zawartość:
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| W tym miejscu rejestrujesz trasy www dla swojej aplikacji.
| Trasy są ładowane przez RouteServiceProvider w grupie
| middleware "web". Stwórz tu coś wyjątkowego!
|
*/
Route::get('/', function () {
return 'Hello ServBay!'; // Zmień lub dodaj tę linię
});
// ... inne trasy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Zapisz plik i odwiedź stronę https://servbay-laravel-test.local
. Teraz przeglądarka powinna wyświetlić „Hello ServBay!”.
Przykłady integracji z bazą danych
Laravel oferuje zaawansowaną warstwę abstrakcji baz danych i ORM (Eloquent), umożliwiając komunikację z wieloma rodzajami baz. ServBay domyślnie zawiera MySQL, PostgreSQL, MongoDB, Redis i Memcached – idealne do lokalnego testowania.
Przykłady pracy z bazami NoSQL
ServBay integruje Redis i Memcached; rozszerzenia PHP są gotowe do użycia.
Przykład z Memcached
Konfiguracja
.env
Dodaj ustawienia połączenia z Memcached (jeśli jeszcze ich nie ma):
dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # Domyślny port Memcached w ServBay
1
2
3Korzystanie z Memcached
W trasie lub kontrolerze użyj fasady Cache do komunikacji: W pliku
routes/web.php
, dodaj taki przykładowy rout:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached-test', function () { // Przechowywanie danych w cache na 10 minut (600 sek.) Cache::put('servbay_memcached_key', 'Hello from Memcached on ServBay!', 600); // Pobieranie danych z cache $value = Cache::get('servbay_memcached_key'); if ($value) { return "Dane z Memcached: " . $value; } else { return "Dane Memcached nie istnieją lub wygasły."; } });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Wejdź na
https://servbay-laravel-test.local/memcached-test
żeby sprawdzić wynik.
Przykład z Redis
Konfiguracja
.env
Ustaw dane dostępowe do Redis:
dotenvCACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Domyślnie brak hasła w ServBay REDIS_PORT=6379 # Domyślny port Redis w ServBay
1
2
3
4Uwaga: Jeśli jednocześnie chcesz testować Redis i Memcached, w
CACHE_STORE
aktywuj tylko jedną usługę (pozostałą zakomentuj).Korzystanie z Redis
W trasie lub kontrolerze możesz użyć fasad Redis albo Cache:
W pliku
routes/web.php
, dodaj taki rout:phpuse Illuminate\Support\Facades\Redis; // lub użyj Cache, jeśli CACHE_STORE=redis // use Illuminate\Support\Facades\Cache; Route::get('/redis-test', function () { // Użycie fasady Redis Redis::set('servbay_redis_key', 'Hello from Redis on ServBay!'); $value_redis = Redis::get('servbay_redis_key'); // lub przez Cache // Cache::put('servbay_redis_key', 'Hello from Redis on ServBay!', 600); // $value_cache = Cache::get('servbay_redis_key'); return "Dane z Redis: " . $value_redis; });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Odwiedź
https://servbay-laravel-test.local/redis-test
aby przetestować.
Przykłady z bazami SQL (MySQL & PostgreSQL)
ServBay zawiera serwery MySQL i PostgreSQL. Eloquent ORM w Laravel pozwala łatwo się z nimi łączyć.
Najpierw należy utworzyć bazę danych dla projektu — wykorzystaj narzędzie administracyjne ServBay (phpMyAdmin, Adminer, pgAdmin) lub klienta CLI i stwórz bazę servbay_laravel_app
.
Następnie użyj migracji Laravel do utworzenia struktury tabel.
Tworzenie pliku migracji
W katalogu głównym projektu uruchom:
bashphp artisan make:migration create_accounts_table --create=accounts
1Powstanie nowy plik migracji w
database/migrations
.Edycja pliku migracji
Otwórz utworzony plik (nazwy zaczynają się od daty i czasu, np.
YYYY_MM_DD_HHMMSS_create_accounts_table.php
). W metodzieup
określ strukturę tabeli:php<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Wykonaj migrację. */ public function up(): void { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); // Dodaje kolumny created_at i updated_at }); } /** * Cofnij migrację. */ public function down(): void { Schema::dropIfExists('accounts'); } };
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29Zapisz plik.
Wykonaj migrację
W katalogu projektu uruchom:
bashphp artisan migrate
1Jeśli konfiguracja bazy jest poprawna, a baza
servbay_laravel_app
istnieje, migracje utworzą tabelęaccounts
oraz domyślne tabele Laravel (users
,password_reset_tokens
, itd.).
Przykład z MySQL
Konfiguracja
.env
dla MySQLUpewnij się, że w pliku
.env
dane wskazują na MySQL:dotenvDB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # Domyślny port MySQL DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password # Hasło domyślne w ServBay
1
2
3
4
5
6Wstawianie przykładowych danych
W pliku
routes/web.php
dodaj trasę, która utworzy wpis w tabeliaccounts
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay Demo User', 'email' => 'demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account dodany do MySQL!'; });
1
2
3
4
5
6
7
8
9
10
11Wejdź na
https://servbay-laravel-test.local/mysql-add-account
by wstawić rekord.Odczyt przykładowych danych
W pliku
routes/web.php
dodaj trasę do odczytu rekordów:phpuse App\Models\Account; // Jeśli utworzysz model Account // lub prosto przez DB Route::get('/mysql-accounts', function () { // Przez DB $accounts = DB::table('accounts')->get(); // lub przez Eloquent ORM // $accounts = Account::all(); return $accounts; });
1
2
3
4
5
6
7
8
9
10
11
12Odwiedź
https://servbay-laravel-test.local/mysql-accounts
by wyświetlić dane.
Przykład z PostgreSQL
Konfiguracja
.env
dla PostgreSQLJeśli chcesz używać PostgreSQL, zmień plik
.env
:dotenvDB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 # Domyślny port PostgreSQL DB_DATABASE=servbay_laravel_app DB_USERNAME=root # Użytkownik domyślny ServBay DB_PASSWORD=password # Hasło domyślne w ServBay
1
2
3
4
5
6Uwaga: Jeśli zmienisz typ bazy danych, może być konieczne ponowne uruchomienie migracji (
php artisan migrate:refresh
lubmigrate
).Wstawianie danych (PostgreSQL)
W pliku
routes/web.php
dodaj trasę:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay PG Demo User', 'email' => 'pg-demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account dodany do PostgreSQL!'; });
1
2
3
4
5
6
7
8
9
10
11Wejdź na
https://servbay-laravel-test.local/pgsql-add-account
, by utworzyć rekord.Odczyt danych (PostgreSQL)
Dodaj trasę do odczytu danych:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-accounts', function () { $accounts = DB::table('accounts')->get(); return $accounts; });
1
2
3
4
5
6Odwiedź
https://servbay-laravel-test.local/pgsql-accounts
by odczytać dane z tabeli.
Podsumowanie
Dzięki ServBay możesz z łatwością zbudować lokalne środowisko do tworzenia i uruchamiania aplikacji Laravel. Integracja PHP, Composer, serwera WWW Caddy oraz wielu baz danych i cache znacząco upraszcza proces konfiguracji. Wykonując kilka prostych kroków, utworzysz nowy projekt Laravel, skonfigurujesz serwer WWW i rozpoczniesz programowanie oraz testy bazy danych i pamięci podręcznej. ServBay zapewnia wydajne i wygodne warunki pracy każdemu programiście.
W przypadku pytań lub problemów, skorzystaj z oficjalnej dokumentacji ServBay lub wsparcia społeczności.