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.

Zanim zaczniesz
Upewnij się, że masz otwarty pulpit – będą ci potrzebne wyświetlone tam dane logowania (nazwa użytkownika, hasło i szczegóły połączenia z bazą danych).

Pierwsze kroki

1

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".

2

Sklonuj repozytorium

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Zainstaluj zależności

composer install
4

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
5

Wykonaj migracje i wypchnij

php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Każde wypchnięcie do Git automatycznie wdraża twoją aplikację. Sprawdź adres Module Work URL na pulpicie, aby zobaczyć działającą stronę.

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.

Czym jest Docker?
Docker tworzy izolowane "kontenery" zawierające całe potrzebne oprogramowanie (PHP, Composer, Node.js) bez instalowania go na twoim komputerze. Można to porównać do lekkiej maszyny wirtualnej.

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
Uwaga
Docker jest opcjonalny dla lokalnego rozwoju. Platforma NStrim obsługuje wdrożenie automatycznie – Docker jest potrzebny tylko, jeśli chcesz uruchamiać komendy lokalnie bez zainstalowanego PHP.

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

1

Otwórz plik .env

Otwórz plik .env w katalogu głównym projektu w swoim edytorze kodu.

2

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=
3

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>
Ważne
Nazwa bazy danych i nazwa użytkownika są zwykle takie same jak twoja nazwa użytkownika z pulpitu (np. 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 .env istnieje 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:

Zmiana kodu git push Auto wdrożenie Live!

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

Aby uzyskać więcej informacji, odwiedź oficjalną Dokumentację Laravel.