Erstellen und Ausführen eines Laravel-Projekts
Was ist Laravel?
Laravel ist ein Open-Source-PHP-Webframework, das von PHP-Entwickler Taylor Otwell erstellt wurde. Es zielt darauf ab, Entwicklern ein sauberes und elegantes Set an Werkzeugen zur Verfügung zu stellen, um moderne Webanwendungen zu erstellen. Laravel bietet eine Fülle von Funktionen wie Routing, Sitzungen, Caching, Authentifizierung usw., die häufige Webentwicklungsaufgaben vereinfachen.
Hauptmerkmale und Vorteile von Laravel
- Einfachheit und Eleganz: Laravels Syntax ist einfach und elegant, was den Code lesbarer und wartbarer macht.
- Reiche Funktionsbibliothek: Beinhaltet Routing, Authentifizierung, Sitzungsmanagement und Caching, was die Entwicklung erheblich vereinfacht.
- Leistungsfähiges ORM: Eloquent ORM bietet eine leicht verständliche ActiveRecord-Implementierung, die die Datenbankoperationen erleichtert.
- Modulares Design: Durch den Composer-Paketmanager können Drittanbieterbibliotheken und Erweiterungen leicht integriert werden.
- Starke Community-Unterstützung: Eine große Entwickergemeinschaft und ein reichhaltiges Ökosystem.
Laravel kann Entwicklern helfen, qualitativ hochwertige Webanwendungen und APIs schnell zu erstellen und ist für Projekte jeder Größe geeignet, von kleinen Anwendungen bis hin zu großen unternehmensweiten Systemen.
Erstellen und Ausführen eines Laravel-Projekts mit ServBay
In diesem Artikel werden wir die von ServBay bereitgestellte PHP-Umgebung nutzen, um ein Laravel-Projekt zu erstellen und auszuführen. Wir werden die "Host"-Funktion von ServBay verwenden, um den Webserver einzurichten und den Zugriff auf das Projekt durch einfache Konfiguration zu ermöglichen.
Hinweis: Wenn Sie bisher NGINX- oder Apache-Anwender waren
ServBay verwendet standardmäßig Caddy als Webserver. Für Benutzer, die von NGINX und Apache zu ServBay wechseln, gibt es einige wichtige Änderungen zu beachten:
Caddy-Konfiguration
ServBay hat Caddy bereits integriert und die Standardkonfiguration optimiert und getestet. Entwickler müssen die Caddy-Konfigurationsdatei nicht manuell ändern, sondern können ihre Websites einfach über die "Host"-Funktion von ServBay verwalten.
Rewrite-Regeln und .htaccess
In NGINX und Apache müssen Entwickler in der Regel eigene Rewrite-Regeln und .htaccess-Dateien schreiben, um URL-Umschreibungen und andere Konfigurationen zu handhaben. ServBay kommt jedoch mit voreingestellten Caddy-Regeln, sodass Entwickler diese Regeln nur bei besonderen Anforderungen selbst schreiben müssen.
Erfahren Sie mehr
Weitere Informationen finden Sie unter Rewrite und htaccess, Wie man eine Apache-Website zu ServBay migriert, Wie man eine NGINX-Website zu ServBay migriert.
Erstellen eines Laravel-Projekts
TIP
ServBay empfiehlt Entwicklern, ihre Websites im Verzeichnis /Applications/ServBay/www
abzulegen, um die Verwaltung zu erleichtern.
Composer installieren
ServBay wird mit Composer vorinstalliert, sodass keine separate Installation erforderlich ist.
Erstellen eines Laravel-Projekts
Verwenden Sie Composer, um ein neues Laravel-Projekt zu erstellen:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4In das Projektverzeichnis wechseln
Wechseln Sie in das neu erstellte Laravel-Projektverzeichnis:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Initialisierung der Konfiguration
Generieren eines Anwendungsschlüssels
Laravel benötigt einen Anwendungsschlüssel, um die Sicherheit von Benutzersitzungen und anderen verschlüsselten Daten zu gewährleisten. Sie können den Anwendungsschlüssel mit einem Artisan-Befehl generieren:
bashphp artisan key:generate
1Konfigurieren der Umgebungsvariablen
Konfigurieren Sie die Datenbankverbindungseinstellungen und andere Umgebungsvariablen in der
.env
-Datei. Stellen Sie sicher, dass die folgenden Einstellungen korrekt sind:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Konfigurieren des Webservers
Verwenden Sie die "Host"-Funktion von ServBay, um auf das Laravel-Projekt über den Webserver zuzugreifen. Fügen Sie in den "Host"-Einstellungen von ServBay einen neuen Host hinzu:
- Name:
My First Laravel Dev Site
- Domain:
servbay-laravel-test.local
- Website-Typ:
PHP
- PHP-Version: Wählen Sie
8.3
- Webstammverzeichnis:
/Applications/ServBay/www/servbay-laravel-app/public
Detaillierte Anweisungen finden Sie unter Hinzufügen der ersten Website.
Hinzufügen von Beispielcode
Fügen Sie im routes/web.php
-Datei den folgenden Code hinzu, um "Hello ServBay!" auszugeben:
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Website aufrufen
Öffnen Sie Ihren Browser und rufen Sie https://servbay-laravel-test.local
auf. Auf der Seite sollte Hello ServBay!
ausgegeben werden.
NoSQL-Datenbankbeispiele
Memcached-Beispiel
Installation der Memcached-Erweiterung
In ServBay ist die Memcached-Erweiterung bereits vorinstalliert, sodass keine weitere Installation erforderlich ist.
Memcached konfigurieren
Konfigurieren Sie die Memcached-Verbindungseinstellungen in der
.env
-Datei:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Verwendung von Memcached
Verwenden Sie im Controller den Cache:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Redis-Beispiel
Installation der Redis-Erweiterung
In ServBay ist die Redis-Erweiterung bereits vorinstalliert, sodass keine weitere Installation erforderlich ist.
Redis konfigurieren
Konfigurieren Sie die Redis-Verbindungseinstellungen in der
.env
-Datei:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Verwendung von Redis
Verwenden Sie im Controller den Cache:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
Beispiel für relationale Datenbanken
Erstellen der Datenbankstruktur und Migrationsdateien
Erstellen einer Migrationsdatei
Verwenden Sie den Artisan-Befehl, um eine Migrationsdatei zu erstellen:
bashphp artisan make:migration create_accounts_table
1Bearbeiten der Migrationsdatei
Finden und bearbeiten Sie die neu erstellte Migrationsdatei im Verzeichnis
database/migrations
, um die Datenbanktabellenstruktur zu definieren:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Ausführen der Migration
Verwenden Sie den Artisan-Befehl, um die Migration auszuführen und die Datenbanktabellen zu erstellen:
bashphp artisan migrate
1
MySQL-Beispiel
Konfigurieren von MySQL
Konfigurieren Sie die MySQL-Verbindungseinstellungen in der
.env
-Datei:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Schreiben von Benutzerdaten
Schreiben Sie Benutzerdaten im Controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Verwendung von MySQL
Rufen Sie die Datenbank im Controller auf:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
PostgreSQL-Beispiel
Konfigurieren von PostgreSQL
Konfigurieren Sie die PostgreSQL-Verbindungseinstellungen in der
.env
-Datei:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Schreiben von Benutzerdaten
Schreiben Sie Benutzerdaten im Controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Verwendung von PostgreSQL
Rufen Sie die Datenbank im Controller auf:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Durch die obigen Schritte haben Sie erfolgreich ein Laravel-Projekt erstellt und ausgeführt, die Funktionen von ServBay zur Verwaltung und zum Zugriff auf Ihr Projekt genutzt sowie verschiedene Datenbanken verbunden und Daten abgefragt.