Laravel
Przegląd
Laravel to framework aplikacji webowych w PHP charakteryzujący się wyrazistą i elegancką składnią. Ten przewodnik przeprowadzi cię od początku do końca przez proces wdrażania aplikacji Laravel na platformie NStrim.
Pierwsze kroki
Utwórz repozytorium z szablonu
Na pulpicie przejdź do zakładki Tools & Deployment. Kliknij przycisk "New Repository", wybierz szablon Laravel z listy rozwijanej, wpisz nazwę repozytorium i subdomenę, a następnie kliknij "Create Repository".
Sklonuj repozytorium
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Zainstaluj zależności
composer install
Skonfiguruj środowisko
Skopiuj przykładowy plik środowiska i skonfiguruj swoją bazę danych (zobacz szczegółowe instrukcje poniżej):
cp .env.example .env
php artisan key:generate
Wykonaj migracje i wypchnij
php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Lokalny rozwój z Dockerem
Jeśli nie masz lokalnie zainstalowanego PHP, możesz użyć Dockera do uruchamiania komend Laravel. Projekt zawiera plik Dockerfile, który konfiguruje wszystko, co potrzebne.
Wymagania wstępne
Zainstaluj Docker Desktop dla swojego systemu operacyjnego (Windows, Mac lub Linux).
Uruchamianie komend z Dockerem
Zamiast uruchamiać php artisan migrate bezpośrednio, uruchamiasz to wewnątrz kontenera Docker:
# Zbuduj obraz Docker (potrzebne tylko raz)
docker build -t laravel-app .
# Uruchom dowolną komendę artisan
docker run --rm laravel-app php artisan migrate
# Uruchom composer install
docker run --rm -v $(pwd):/var/www/html laravel-app composer install
# Interaktywna powłoka wewnątrz kontenera
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Konfiguracja bazy danych
Platforma NStrim udostępnia bazę danych MySQL/MariaDB. Aby się połączyć, musisz skonfigurować plik .env z prawidłowymi danymi bazy danych.
Dlaczego konfigurować bazę danych?
Laravel przechowuje konfigurację specyficzną dla środowiska w pliku .env. Domyślnie szablon używa SQLite (bazy danych opartej na pliku), ale NStrim udostępnia MySQL dla lepszej wydajności i zgodności z rzeczywistymi scenariuszami.
Konfiguracja krok po kroku
Otwórz plik .env
Otwórz plik .env w katalogu głównym projektu w swoim edytorze kodu.
Znajdź sekcję bazy danych
Znajdź te linie (zwykle w okolicy linii 23):
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Zaktualizuj swoimi danymi logowania
Zastąp danymi logowania z twojego pulpitu:
DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
student01). Sprawdź sekcję danych logowania na pulpicie, aby uzyskać dokładne wartości.Przykładowa konfiguracja
Jeśli twoja nazwa użytkownika to student01, a domena sesji to demo.nstrim.app:
DB_CONNECTION=mysql
DB_HOST=db.demo.nstrim.app
DB_PORT=3306
DB_DATABASE=student01
DB_USERNAME=student01
DB_PASSWORD=your-password-from-dashboard
Uruchamianie migracji
Migracje to sposób, w jaki Laravel tworzy tabele bazy danych. Po skonfigurowaniu bazy uruchom migracje, aby utworzyć wymagane tabele:
php artisan migrate
Jeśli chcesz zresetować i uruchomić wszystkie migracje od nowa (spowoduje to usunięcie wszystkich danych):
php artisan migrate:fresh
Aby uruchomić migracje wraz z danymi seed (jeśli twój projekt zawiera seedery):
php artisan migrate:fresh --seed
Struktura projektu
Gdzie znajdują się pliki:
├── app/ # Kod aplikacji
│ ├── Http/
│ │ └── Controllers/ # Tutaj umieszczasz kontrolery
│ └── Models/ # Modele Eloquent
├── config/ # Pliki konfiguracyjne
├── database/
│ ├── migrations/ # Migracje bazy danych
│ └── seeders/ # Seedery bazy danych
├── public/ # Zasoby publiczne (CSS, JS, obrazy)
├── resources/
│ └── views/ # Szablony Blade
├── routes/
│ └── web.php # Trasy webowe (URL → Controller)
├── .env # Konfiguracja środowiska (DB itd.)
└── composer.json # Zależności PHP
Typowe zadania
Tworzenie nowego kontrolera
php artisan make:controller ProductController
Tworzenie nowego modelu z migracją
php artisan make:model Product -m
Dodawanie trasy
Edytuj routes/web.php:
Route::get('/products', [ProductController::class, 'index']);
Czyszczenie cache
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Przydatne komendy
php artisan serve
Uruchom lokalny serwer deweloperski
php artisan migrate
Uruchom migracje bazy danych
php artisan migrate:status
Sprawdź status migracji
php artisan make:controller
Utwórz nowy kontroler
php artisan make:model -m
Utwórz model wraz z migracją
php artisan route:list
Wyświetl wszystkie zarejestrowane trasy
php artisan tinker
Interaktywna powłoka PHP do testowania
Rozwiązywanie problemów
SQLSTATE[HY000] [2002] Connection refused
Przyczyna: Host bazy danych jest nieprawidłowy lub serwer bazy danych jest niedostępny.
Rozwiązanie: Sprawdź, czy DB_HOST w pliku .env odpowiada hostowi bazy danych z twojego pulpitu (zwykle db.<session-domain>).
SQLSTATE[HY000] [1045] Access denied for user
Przyczyna: Nieprawidłowa nazwa użytkownika lub hasło.
Rozwiązanie: Sprawdź dwukrotnie, czy DB_USERNAME i DB_PASSWORD dokładnie odpowiadają temu, co widać na pulpicie. Hasła rozróżniają wielkość liter!
SQLSTATE[HY000] [1049] Unknown database
Przyczyna: Nazwa bazy danych nie istnieje.
Rozwiązanie: Sprawdź, czy DB_DATABASE jest ustawione na twoją nazwę użytkownika (np. student01). Twoja baza danych jest utworzona z tą samą nazwą co twoja nazwa użytkownika.
No application encryption key has been specified
Przyczyna: Brakuje APP_KEY w pliku .env.
Rozwiązanie: Uruchom php artisan key:generate, aby wygenerować nowy klucz.
Class 'App\Http\Controllers\...' not found
Przyczyna: Autoloader nie wie o twojej nowej klasie.
Rozwiązanie: Uruchom composer dump-autoload, aby ponownie wygenerować autoloader.
Strona pokazuje stare treści po zmianach
Przyczyna: Laravel cachuje widoki lub konfigurację.
Rozwiązanie: Wyczyść wszystkie cache:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
500 Server Error po wdrożeniu
Przyczyna: Zwykle problem konfiguracyjny lub brakujące zależności.
Rozwiązanie: Sprawdź, czy:
- plik
.envistnieje i ma poprawne wartości - APP_KEY jest ustawiony (uruchom
php artisan key:generate) - wszystkie zależności są zainstalowane (
composer install) - dane logowania do bazy danych są poprawne
Sprawdzanie bazy danych
Możesz uzyskać dostęp do phpMyAdmin, aby wizualnie zarządzać swoją bazą danych. Kliknij przycisk MySQL na pulpicie, aby otworzyć phpMyAdmin. Zaloguj się tymi samymi danymi, które są wyświetlane na pulpicie.
Z poziomu phpMyAdmin możesz:
- przeglądać wszystkie tabele utworzone przez migracje
- przeglądać i edytować dane bezpośrednio
- uruchamiać własne zapytania SQL
- eksportować/importować dane bazy
Proces wdrażania
Za każdym razem, gdy wypychasz kod do Git, twoja aplikacja jest automatycznie wdrażana:
Adres URL twojej wdrożonej aplikacji ma następujący format:
https://<your-subdomain>-<repo-name>.<session-domain>
Przykład: https://student01-module-a.demo.nstrim.app