Laravel
Oversigt
Laravel er et PHP-webapplikationsframework med udtryksfuld, elegant syntaks. Denne guide tager dig igennem udrulningen af en Laravel-applikation på NStrim-platformen fra start til slut.
Kom godt i gang
Opret repository fra skabelon
Gå til fanen Tools & Deployment på dit dashboard. Klik på "New Repository", vælg Laravel-skabelonen i dropdown-menuen, indtast et repository-navn og et subdomæne, og klik på "Create Repository".
Klon dit repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installer afhængigheder
composer install
Konfigurer miljø
Kopier eksempel-miljøfilen og konfigurer din database (se detaljerede instruktioner nedenfor):
cp .env.example .env
php artisan key:generate
Kør migreringer & push
php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Lokal udvikling med Docker
Hvis du ikke har PHP installeret lokalt, kan du bruge Docker til at køre Laravel-kommandoer. Projektet indeholder en Dockerfile, der opsætter alt, hvad du har brug for.
Forudsætninger
Installer Docker Desktop til dit operativsystem (Windows, Mac eller Linux).
Kør kommandoer med Docker
I stedet for at køre php artisan migrate direkte, kører du den i en Docker-container:
# Build the Docker image (only needed once)
docker build -t laravel-app .
# Run any artisan command
docker run --rm laravel-app php artisan migrate
# Run composer install
docker run --rm -v $(pwd):/var/www/html laravel-app composer install
# Interactive shell inside container
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Databasekonfiguration
NStrim-platformen stiller en MySQL/MariaDB-database til rådighed. Du skal konfigurere din .env-fil med de korrekte database-loginoplysninger for at oprette forbindelse.
Hvorfor konfigurere databasen?
Laravel bruger en .env-fil til at gemme miljøspecifik konfiguration. Som standard bruger skabelonen SQLite (en filbaseret database), men NStrim leverer MySQL for bedre ydeevne og kompatibilitet med scenarier fra den virkelige verden.
Trin-for-trin konfiguration
Åbn din .env-fil
Åbn .env-filen i projektets rod med din kodeeditor.
Find database-sektionen
Kig efter disse linjer (typisk omkring linje 23):
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Opdater med dine loginoplysninger
Erstat med loginoplysningerne fra dit dashboard:
DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
student01). Tjek dashboardets loginoplysningssektion for præcise værdier.Konfigurationseksempel
Hvis dit brugernavn er student01 og session-domænet er 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
Kørsel af migreringer
Migreringer er Laravels måde at oprette databasetabeller på. Når du har konfigureret din database, skal du køre migreringer for at opsætte de nødvendige tabeller:
php artisan migrate
Hvis du vil nulstille og køre alle migreringer igen (dette sletter alle data):
php artisan migrate:fresh
For at køre migreringer med seed-data (hvis dit projekt har seedere):
php artisan migrate:fresh --seed
Projektstruktur
Forstå hvor filerne er placeret:
├── app/ # Applikationskode
│ ├── Http/
│ │ └── Controllers/ # Dine controllers placeres her
│ └── Models/ # Eloquent Models
├── config/ # Konfigurationsfiler
├── database/
│ ├── migrations/ # Database-migreringer
│ └── seeders/ # Database-seedere
├── public/ # Offentlige assets (CSS, JS, billeder)
├── resources/
│ └── views/ # Blade-skabeloner
├── routes/
│ └── web.php # Web-ruter (URL → Controller)
├── .env # Miljøkonfiguration (DB osv.)
└── composer.json # PHP-afhængigheder
Almindelige opgaver
Opret en ny controller
php artisan make:controller ProductController
Opret en ny model med migrering
php artisan make:model Product -m
Tilføj en rute
Rediger routes/web.php:
Route::get('/products', [ProductController::class, 'index']);
Ryd cache
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Nyttige kommandoer
php artisan serve
Start lokal udviklingsserver
php artisan migrate
Kør database-migreringer
php artisan migrate:status
Tjek migreringsstatus
php artisan make:controller
Opret en ny controller
php artisan make:model -m
Opret model med migrering
php artisan route:list
Vis alle registrerede ruter
php artisan tinker
Interaktiv PHP-shell til test
Fejlfinding
SQLSTATE[HY000] [2002] Connection refused
Årsag: Database-host er forkert, eller databaseserveren er ikke tilgængelig.
Løsning: Tjek at DB_HOST i din .env-fil matcher database-hosten fra dit dashboard (typisk db.<session-domain>).
SQLSTATE[HY000] [1045] Access denied for user
Årsag: Forkert brugernavn eller adgangskode.
Løsning: Tjek at DB_USERNAME og DB_PASSWORD matcher præcis det, der vises på dit dashboard. Adgangskoder skelner mellem store og små bogstaver!
SQLSTATE[HY000] [1049] Unknown database
Årsag: Databasenavnet findes ikke.
Løsning: Bekræft at DB_DATABASE er sat til dit brugernavn (f.eks. student01). Din database er oprettet på forhånd med samme navn som dit brugernavn.
No application encryption key has been specified
Årsag: APP_KEY mangler i .env.
Løsning: Kør php artisan key:generate for at generere en ny nøgle.
Class 'App\Http\Controllers\...' not found
Årsag: Autoloaderen kender ikke din nye klasse.
Løsning: Kør composer dump-autoload for at regenerere autoloaderen.
Page shows old content after changes
Årsag: Laravel cacher views eller konfiguration.
Løsning: Ryd al cache:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
500 Server Error after deployment
Årsag: Typisk et konfigurationsproblem eller manglende afhængigheder.
Løsning: Tjek at:
.env-filen findes og har korrekte værdier- APP_KEY er sat (kør
php artisan key:generate) - Alle afhængigheder er installeret (
composer install) - Database-loginoplysninger er korrekte
Tjek din database
Du kan tilgå phpMyAdmin for visuelt at administrere din database. Klik på MySQL-knappen på dit dashboard for at åbne phpMyAdmin. Log ind med de samme loginoplysninger, der vises på dit dashboard.
Fra phpMyAdmin kan du:
- Se alle tabeller oprettet af migreringer
- Gennemse og redigere data direkte
- Køre brugerdefinerede SQL-forespørgsler
- Eksportere/importere databasedata
Udrulnings-workflow
Hver gang du pusher kode til Git, udrulles din applikation automatisk:
Din udrullede applikations-URL har dette format:
https://<your-subdomain>-<repo-name>.<session-domain>
Eksempel: https://student01-module-a.demo.nstrim.app