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!
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