Laravel - Anwendungsstruktur

Willkommen, ambitionierte Entwickler! Heute machen wir uns auf eine aufregende Reise durch die Struktur einer Laravel-Anwendung. Als Ihr freundlicher Nachbarschaftsinformatiklehrer bin ich hier, um Sie durch die Schritte dieses leistungsstarken PHP-Frameworks zu führen. Machen Sie sich keine Sorgen, wenn Sie neu im Programmieren sind – wir beginnen mit den Grundlagen und arbeiten uns hoch. Holen Sie sich eine Tasse Kaffee und tauchen wir ein!

Laravel - Application Structure

Das große Ganze

Bevor wir uns in die Details vertiefen, lassen Sie uns einen Moment innehalten, um zu verstehen, warum Laravel's Struktur wichtig ist. Stellen Sie sich vor, Sie bauen ein Haus. Sie würden nicht einfach Bretter zusammenstecken, oder? Sie brauchen einen Plan, eine Bauzeichnung. Genau das bietet Laravel's Struktur – eine gut organisierte Bauzeichnung für Ihre Webanwendung.

Nun, lassen Sie uns jeden Hauptordner in Laravel erkunden:

App

Der app-Ordner ist das Herz Ihrer Laravel-Anwendung. Hier befindet sich der Großteil des Kerncodes Ihrer Anwendung.

Beispiel: Erstellen eines einfachen Controllers

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class WelcomeController extends Controller
{
public function index()
{
return view('welcome');
}
}

In diesem Beispiel haben wir einen einfachen Controller namens WelcomeController erstellt. Die index-Methode gibt eine Ansicht namens 'welcome' zurück. Dies wird typischerweise verwendet, um die Startseite Ihrer Anwendung anzuzeigen.

Bootstrap

Der bootstrap-Ordner enthält Dateien, die das Framework initialisieren. Sie müssen hier normalerweise nichts ändern, aber es ist gut zu wissen, dass er existiert.

Config

Wie der Name schon sagt, enthält der config-Ordner alle Konfigurationsdateien Ihrer Anwendung.

Beispiel: Ändern des Anwendungsnamens

In config/app.php:

'name' => env('APP_NAME', 'Meine großartige Laravel-App'),

Diese Zeile setzt den Namen Ihrer Anwendung. Die env-Funktion prüft, ob es einen APP_NAME-Wert in Ihrer .env-Datei gibt. Wenn nicht, wird 'Meine großartige Laravel-App' als Standardwert verwendet.

Database

Der database-Ordner enthält Ihre Datenbank-Migrationen, Modell-Fabriken und Seeds. Denken Sie an Migrationen als Versionskontrolle für您的 Datenbank-Schema.

Beispiel: Erstellen einer einfachen Migration

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamps();
});
}

public function down()
{
Schema::dropIfExists('users');
}
}

Diese Migration erstellt eine 'users'-Tabelle mit den Spalten 'id', 'name', 'email' und Zeitstempeln. Die down-Methode ermöglicht es Ihnen, die Migration rückgängig zu machen, falls nötig.

Public

Der public-Ordner enthält die index.php-Datei, die der Eingangspunkt für alle Anfragen ist, die Ihre Anwendung betreten. Dieser Ordner beherbergt auch Ihre Assets wie Bilder, JavaScript und CSS.

Resources

Der resources-Ordner enthält Ihre Ansichten sowie rohe, unkomilierte Assets wie LESS, SASS oder JavaScript.

Beispiel: Erstellen einer einfachen Ansicht

In resources/views/welcome.blade.php:

<!DOCTYPE html>
<html>
<head>
<title>Willkommen in meiner App</title>
</head>
<body>
<h1>Hello, {{ $name }}!</h1>
</body>
</html>

Diese Ansicht verwendet Laravel's Blade-Template-Engine. Die {{ $name }}-Syntax wird durch den tatsächlichen Wert von $name ersetzt, wenn die Ansicht gerendert wird.

Storage

Der storage-Ordner enthält Ihre kompilierten Blade-Templates, dateibasierte Sitzungen, Datei-Caches und andere vom Framework generierte Dateien.

Tests

Der tests-Ordner enthält Ihre automatisierten Tests. Laravel bietet einen benutzerfreundlichen Testrahmen direkt aus der Box.

Beispiel: Schreiben eines einfachen Tests

<?php

namespace Tests\Feature;

use Tests\TestCase;

class ExampleTest extends TestCase
{
public function test_the_application_returns_a_successful_response()
{
$response = $this->get('/');

$response->assertStatus(200);
}
}

Dieser Test überprüft, ob die Startseite Ihrer Anwendung einen erfolgreichen HTTP-Statuscode (200) zurückgibt.

Vendor

Der vendor-Ordner enthält Ihre Composer-Abhängigkeiten. Sie sollten nichts direkt in diesem Ordner ändern.

Laravel's Artisan Commands

Laravel kommt mit einer leistungsstarken Kommandozeilen-Schnittstelle namens Artisan. Hier ist eine Tabelle mit einigen commonly verwendeten Artisan-Befehlen:

Befehl Beschreibung
php artisan serve Startet einen Entwicklungsserver
php artisan make:controller Erstellt einen neuen Controller
php artisan make:model Erstellt ein neues Modell
php artisan migrate Führt Datenbank-Migrationen aus
php artisan tinker Interagiert mit Ihrer Anwendung

Erinnern Sie sich daran, dass diese Befehle Ihre Freunde sind. Sie können Ihnen viel Zeit und Mühe sparen!

Abschluss

Und das war's, Leute! Wir haben eine rasante Tour durch die Struktur einer Laravel-Anwendung gemacht. Denken Sie daran, dass das Erlernen jeder neuen Fähigkeit Zeit und Übung erfordert. Lassen Sie sich nicht entmutigen, wenn Dinge nicht sofort klar werden – das ist alle Teil des Lernprozesses.

Beim Abschied wird mir eine Geschichte aus meinen frühen Tagen des Programmierens in den Sinn. Ich habe einmal Stunden damit verbracht, ein Problem zu debuggen, nur um festzustellen, dass ich einen Tippfehler im Dateinamen hatte. Die Lektion? Achten Sie auf die Details, aber vergessen Sie nicht, einen Schritt zurückzutreten und das große Ganze zu betrachten.

Laravel's Struktur mag zunächst komplex erscheinen, aber sie ist darauf ausgelegt, Ihr Leben auf lange Sicht zu erleichtern. Es ist wie das Fahrradfahren zu lernen – am Anfang mag es wackelig sein, aber wenn Sie den Dreh raus haben, werden Sie schnell vorankommen.

Weiter codieren, weiter lernen und vor allem: Spaß haben! Denken Sie daran, jeder Experte war einmal ein Anfänger. Sie schaffen das!

Credits: Image by storyset