Apžvalga

Laravel yra PHP žiniatinklio aplikacijų karkasas su išraiškinga, elegantiška sintakse. Šis vadovas padės jums įdiegti Laravel aplikaciją NStrim platformoje nuo pradžios iki pabaigos.

Prieš pradėdami
Įsitikinkite, kad jūsų valdymo skydelis atidarytas - jums reikės ten rodomų prisijungimo duomenų (vartotojo vardo, slaptažodžio ir duomenų bazės prisijungimo informacijos).

Greitas startas

1

Sukurkite repozitoriją iš šablono

Valdymo skydelyje pereikite į skirtuką Tools & Deployment. Spauskite mygtuką "New Repository", išskleidžiamame sąraše pasirinkite Laravel šabloną, įveskite repozitorijos pavadinimą ir subdomeną, tada spauskite "Create Repository".

2

Klonuokite savo repozitoriją

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

Įdiekite priklausomybes

composer install
4

Sukonfigūruokite aplinką

Nukopijuokite pavyzdinį aplinkos failą ir sukonfigūruokite duomenų bazę (žr. išsamias instrukcijas žemiau):

cp .env.example .env
php artisan key:generate
5

Paleiskite migracijas ir įkelkite

php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Kiekvienas push į Git automatiškai įdiegia jūsų aplikaciją. Patikrinkite Modulio darbo URL valdymo skydelyje, kad pamatytumėte savo gyvą svetainę.

Vietinis kūrimas su Docker

Jei vietoje neturite įdiegto PHP, galite naudoti Docker Laravel komandoms vykdyti. Projekte yra Dockerfile, kuris nustato viską, ko reikia.

Kas yra Docker?
Docker sukuria izoliuotus „konteinerius" su visa reikalinga programine įranga (PHP, Composer, Node.js) jos neįdiegiant į jūsų kompiuterį. Įsivaizduokite tai kaip lengvą virtualią mašiną.

Reikalavimai

Įdiekite Docker Desktop savo operacinei sistemai (Windows, Mac arba Linux).

Komandų vykdymas su Docker

Vietoj to, kad php artisan migrate vykdytumėte tiesiogiai, paleidžiate ją Docker konteineryje:

# Sukurkite Docker atvaizdą (reikia tik kartą)
docker build -t laravel-app .

# Paleiskite bet kurią artisan komandą
docker run --rm laravel-app php artisan migrate

# Paleiskite composer install
docker run --rm -v $(pwd):/var/www/html laravel-app composer install

# Interaktyvi konteinerio terpė (shell)
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Pastaba
Docker yra neprivalomas vietiniam kūrimui. NStrim platforma diegimą tvarko automatiškai - Docker reikia tik tuomet, jei norite vykdyti komandas vietoje neįdiegę PHP.

Duomenų bazės konfigūracija

NStrim platforma jums suteikia MySQL/MariaDB duomenų bazę. Norėdami prisijungti, turite sukonfigūruoti savo .env failą su teisingais duomenų bazės prisijungimo duomenimis.

Kodėl konfigūruoti duomenų bazę?

Laravel naudoja .env failą aplinkai būdingai konfigūracijai saugoti. Pagal numatytuosius nustatymus šablonas naudoja SQLite (failu pagrįstą duomenų bazę), tačiau NStrim teikia MySQL geresniam našumui ir suderinamumui su realiais scenarijais.

Žingsnis po žingsnio konfigūracija

1

Atidarykite .env failą

Atidarykite .env failą savo projekto šaknyje su kodo redaktoriumi.

2

Suraskite duomenų bazės skiltį

Ieškokite šių eilučių (paprastai apie 23 eilutę):

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
3

Atnaujinkite savo prisijungimo duomenimis

Pakeiskite valdymo skydelyje matomais prisijungimo duomenimis:

DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
Svarbu
Jūsų duomenų bazės pavadinimas ir vartotojo vardas paprastai sutampa su jūsų valdymo skydelio vartotojo vardu (pvz., student01). Tikslioms reikšmėms patikrinkite valdymo skydelio prisijungimo duomenų skiltį.

Konfigūracijos pavyzdys

Jei jūsų vartotojo vardas yra student01, o sesijos domenas 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

Migracijų vykdymas

Migracijos yra Laravel būdas kurti duomenų bazės lenteles. Sukonfigūravę duomenų bazę, paleiskite migracijas, kad sukurtumėte reikiamas lenteles:

php artisan migrate

Jei reikia atstatyti ir paleisti visas migracijas iš naujo (tai ištrins visus duomenis):

php artisan migrate:fresh

Norėdami paleisti migracijas su pradiniais duomenimis (jei jūsų projekte yra seederių):

php artisan migrate:fresh --seed

Projekto struktūra

Kur yra failai:

├── app/                  # Aplikacijos kodas
│   ├── Http/
│   │   └── Controllers/  # Čia yra jūsų valdikliai
│   └── Models/           # Eloquent modeliai
├── config/               # Konfigūracijos failai
├── database/
│   ├── migrations/       # Duomenų bazės migracijos
│   └── seeders/          # Duomenų bazės seederiai
├── public/               # Vieši resursai (CSS, JS, paveikslėliai)
├── resources/
│   └── views/            # Blade šablonai
├── routes/
│   └── web.php           # Web maršrutai (URL → Valdiklis)
├── .env                  # Aplinkos konfigūracija (DB ir kt.)
└── composer.json         # PHP priklausomybės
        

Įprastos užduotys

Naujo valdiklio kūrimas

php artisan make:controller ProductController

Naujo modelio su migracija kūrimas

php artisan make:model Product -m

Maršruto pridėjimas

Redaguokite routes/web.php:

Route::get('/products', [ProductController::class, 'index']);

Talpyklos valymas

php artisan cache:clear
php artisan config:clear
php artisan view:clear

Naudingos komandos

php artisan serve Paleisti vietinį kūrimo serverį
php artisan migrate Vykdyti duomenų bazės migracijas
php artisan migrate:status Patikrinti migracijų būseną
php artisan make:controller Sukurti naują valdiklį
php artisan make:model -m Sukurti modelį su migracija
php artisan route:list Išvardyti visus registruotus maršrutus
php artisan tinker Interaktyvi PHP terpė testavimui

Trikčių šalinimas

SQLSTATE[HY000] [2002] Connection refused

Priežastis: Duomenų bazės serveris yra neteisingas arba duomenų bazės serveris nepasiekiamas.

Sprendimas: Patikrinkite, ar DB_HOST jūsų .env faile sutampa su valdymo skydelio duomenų bazės serveriu (paprastai db.<session-domain>).

SQLSTATE[HY000] [1045] Access denied for user

Priežastis: Neteisingas vartotojo vardas arba slaptažodis.

Sprendimas: Du kartus patikrinkite, ar DB_USERNAME ir DB_PASSWORD tiksliai atitinka tai, kas rodoma valdymo skydelyje. Slaptažodžiuose svarbi raidžių registras!

SQLSTATE[HY000] [1049] Unknown database

Priežastis: Duomenų bazės pavadinimas neegzistuoja.

Sprendimas: Patikrinkite, ar DB_DATABASE nustatytas į jūsų vartotojo vardą (pvz., student01). Jūsų duomenų bazė iš anksto sukurta tuo pačiu pavadinimu kaip ir jūsų vartotojo vardas.

No application encryption key has been specified

Priežastis: Trūksta APP_KEY .env faile.

Sprendimas: Paleiskite php artisan key:generate, kad sugeneruotumėte naują raktą.

Class 'App\Http\Controllers\...' not found

Priežastis: Automatinis krovimas nežino apie jūsų naują klasę.

Sprendimas: Paleiskite composer dump-autoload, kad iš naujo sugeneruotumėte automatinį krovimą.

Page shows old content after changes

Priežastis: Laravel talpina rodinius arba konfigūraciją.

Sprendimas: Išvalykite visas talpyklas:

php artisan cache:clear
php artisan config:clear
php artisan view:clear

500 Server Error po diegimo

Priežastis: Paprastai konfigūracijos problema arba trūkstamos priklausomybės.

Sprendimas: Patikrinkite, ar:

  • .env failas egzistuoja ir turi teisingas reikšmes
  • APP_KEY yra nustatytas (paleiskite php artisan key:generate)
  • Visos priklausomybės įdiegtos (composer install)
  • Duomenų bazės prisijungimo duomenys yra teisingi

Duomenų bazės patikrinimas

Jūs galite pasiekti phpMyAdmin, kad vizualiai valdytumėte duomenų bazę. Spustelėkite MySQL mygtuką savo valdymo skydelyje, kad atidarytumėte phpMyAdmin. Prisijunkite tais pačiais prisijungimo duomenimis, kurie rodomi valdymo skydelyje.

Iš phpMyAdmin galite:

  • Peržiūrėti visas migracijų sukurtas lenteles
  • Naršyti ir tiesiogiai redaguoti duomenis
  • Vykdyti pasirinktines SQL užklausas
  • Eksportuoti / importuoti duomenų bazės duomenis

Diegimo eiga

Kiekvieną kartą, kai įkeliate kodą į Git, jūsų aplikacija automatiškai įdiegiama:

Kodo pakeitimas git push Automatinis diegimas Gyvai!

Jūsų įdiegtos aplikacijos URL atitinka šį formatą:

https://<your-subdomain>-<repo-name>.<session-domain>

Pavyzdys: https://student01-module-a.demo.nstrim.app

Daugiau informacijos rasite oficialioje Laravel dokumentacijoje.