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.

Før du begynder
Sørg for at have dit dashboard åbent - du skal bruge de viste loginoplysninger (brugernavn, adgangskode og databaseforbindelsesdetaljer).

Kom godt i gang

1

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

2

Klon dit repository

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

Installer afhængigheder

composer install
4

Konfigurer miljø

Kopier eksempel-miljøfilen og konfigurer din database (se detaljerede instruktioner nedenfor):

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

Kør migreringer & push

php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Hver push til Git udruller automatisk din applikation. Tjek din Module Work URL på dashboardet for at se din live-side.

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.

Hvad er Docker?
Docker opretter isolerede "containere" med al den software, du har brug for (PHP, Composer, Node.js), uden at installere dem på din computer. Tænk på det som en letvægts virtuel maskine.

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
Bemærk
Docker er valgfrit til lokal udvikling. NStrim-platformen håndterer udrulning automatisk - du behøver kun Docker, hvis du vil køre kommandoer lokalt uden PHP installeret.

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

1

Åbn din .env-fil

Åbn .env-filen i projektets rod med din kodeeditor.

2

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

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>
Vigtigt
Dit databasenavn og brugernavn er typisk det samme som dit dashboard-brugernavn (f.eks. 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:

Kodeændring git push Auto-udrulning Live!

Din udrullede applikations-URL har dette format:

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

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

For mere information, besøg den officielle Laravel-dokumentation.