StoryStube

Laravel & Nova: So holst du alles raus

Laravel & Nova: So holst du alles raus


nach über zehn Jahren in der Webentwicklung mit Laravel habe ich viele Tools und Frameworks ausprobiert. Eines, das mich besonders beeindruckt hat, ist Laravel Nova. Nova ist ein Admin-Panel für Laravel-Anwendungen, das nicht nur elegant und leistungsfähig ist, sondern auch unglaublich flexibel. Heute möchte ich euch zeigen, wie ihr das Beste aus Laravel Nova herausholen könnt. Also, schnappt euch eure Tastatur und lasst uns loslegen!

Was ist Laravel Nova?


Laravel Nova ist ein Admin-Panel für Laravel-Anwendungen, das eine saubere und intuitive Benutzeroberfläche bietet. Es wurde entwickelt, um Entwicklern die Erstellung von Verwaltungsoberflächen für ihre Anwendungen zu erleichtern, ohne dass sie sich mit komplexem Code herumschlagen müssen. Nova bietet viele nützliche Funktionen, darunter Ressourcenverwaltung, benutzerdefinierte Tools, Filter, Aktionen und vieles mehr.

Installation von Laravel Nova


Bevor wir loslegen können, müssen wir Nova in unserer Laravel-Anwendung installieren. Zuerst müsst ihr eine Lizenz für Nova erwerben und die Dateien herunterladen.

Installation:
Fügt das Nova-Repository zu eurem Composer composer.json hinzu:

"repositories": [
{
"type": "composer",
"url": "https://nova.laravel.com"
}
]


2. Installiert Nova über Composer:

composer require laravel/nova


3. Führt die Nova-Installation aus:

php artisan nova:install


4. Führt die Migrationen aus:

php artisan migrate


5. Fügt die Nova-Route in routes/web.php hinzu:

use Laravel\Nova\Nova;
use Illuminate\Support\Facades\Route;

Route::middleware(['web'])
->prefix('admin')
->group(function () {
Nova::routes();
});


Und schon habt ihr Laravel Nova installiert und einsatzbereit!

Ressourcen in Nova erstellen



Eine der Hauptfunktionen von Nova ist die Verwaltung von Ressourcen. Eine Ressource in Nova entspricht einem Eloquent-Modell in Laravel.

Beispiel: Erstellen einer User-Ressource:



1. Generiert eine Ressource mit dem Artisan-Befehl:

php artisan nova:resource User


2. Nova erstellt automatisch die Datei app/Nova/User.php.
Hier könnt ihr die Darstellung und Verwaltung eurer User-Ressource anpassen:


namespace App\Nova;

use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\Email;
use Laravel\Nova\Fields\Password;
use Laravel\Nova\Fields\DateTime;
use Laravel\Nova\Http\Requests\NovaRequest;

class User extends Resource
{
public static $model = 'App\\User';

public function fields(NovaRequest $request)
{
return [
ID::make()->sortable(),
Text::make('Name')->sortable()->rules('required', 'max:255'),
Email::make('Email')->sortable()->rules('required', 'email', 'max:254'),
Password::make('Password')->onlyOnForms()->rules('required', 'min:8'),
DateTime::make('Created At')->exceptOnForms(),
DateTime::make('Updated At')->exceptOnForms(),
];
}
}



Benutzerdefinierte Tools und Dashboards


Mit Nova könnt ihr auch benutzerdefinierte Tools und Dashboards erstellen, um eure Anwendung weiter anzupassen und zu erweitern.

Beispiel: Erstellen eines benutzerdefinierten Tools:



1. Generiert ein Tool mit dem Artisan-Befehl:

php artisan nova:tool MyTool


2. Nova erstellt automatisch das Verzeichnis nova-components/MyTool.
Hier könnt ihr den Code für euer Tool hinzufügen.

3.Registriert euer Tool in app/Providers/NovaServiceProvider.php:


namespace App\Providers;

use Laravel\Nova\Nova;
use Laravel\Nova\Cards\Help;
use Illuminate\Support\Facades\Gate;
use Laravel\Nova\NovaApplicationServiceProvider;

class NovaServiceProvider extends NovaApplicationServiceProvider
{
public function tools()
{
return [
new \NovaComponents\MyTool\MyTool(),
];
}
}


Filter und Aktionen


Nova bietet leistungsstarke Filter- und Aktionsfunktionen, mit denen ihr eure Ressourcen weiter anpassen könnt.

Beispiel: Erstellen eines Filters:



1. Generiert einen Filter mit dem Artisan-Befehl:

php artisan nova:filter UserType


2. Nova erstellt automatisch die Datei app/Nova/Filters/UserType.php.
Hier könnt ihr euren Filter definieren:


namespace App\Nova\Filters;

use Illuminate\Http\Request;
use Laravel\Nova\Filters\Filter;

class UserType extends Filter
{
public $name = 'User Type';

public function apply(Request $request, $query, $value)
{
return $query->where('type', $value);
}

public function options(Request $request)
{
return [
'Admin' => 'admin',
'User' => 'user',
];
}
}


Beispiel: Erstellen einer Aktion:



1. Generiert eine Aktion mit dem Artisan-Befehl:

php artisan nova:action PromoteUser


2. Nova erstellt automatisch die Datei app/Nova/Actions/PromoteUser.php.
Hier könnt ihr eure Aktion definieren:


namespace App\Nova\Actions;

use Illuminate\Bus\Queueable;
use Laravel\Nova\Fields\ActionFields;
use Illuminate\Queue\InteractsWithQueue;
use Laravel\Nova\Actions\Action;
use Illuminate\Support\Collection;

class PromoteUser extends Action
{
use InteractsWithQueue, Queueable;

public function handle(ActionFields $fields, Collection $models)
{
foreach ($models as $model) {
$model->type = 'admin';
$model->save();
}

return Action::message('User promoted to admin!');
}
}


Tipps
Nutze Policies: Stelle sicher, dass du Laravel Policies nutzt, um den Zugriff auf Nova-Ressourcen zu steuern. Das erhöht die Sicherheit und Kontrolle.

Verwende Custom Cards: Custom Cards ermöglichen es dir, spezielle Informationen und Statistiken in deinem Dashboard anzuzeigen. Nutze sie, um wertvolle Einblicke zu bieten.

Regelmäßige Updates: Halte Nova und Laravel auf dem neuesten Stand, um die neuesten Funktionen und Sicherheitsupdates zu nutzen.

Dokumentation: Nutze die umfangreiche Nova-Dokumentation und Beispiele, um das volle Potenzial des Frameworks auszuschöpfen.

Einfache Benutzeroberfläche: Halte die Benutzeroberfläche einfach und intuitiv, um die Nutzung für Administratoren zu erleichtern.

Optimierte Datenbankabfragen: Achte darauf, dass deine Nova-Ressourcen und -Aktionen optimierte Datenbankabfragen verwenden, um die Performance zu verbessern.

Tests: Führe regelmäßig Tests durch, um sicherzustellen, dass deine Nova-Implementierung reibungslos funktioniert.


Laravel Nova ist ein leistungsstarkes und flexibles Admin-Panel, das dir hilft, Verwaltungsoberflächen für deine Anwendungen schnell und effizient zu erstellen. Mit den richtigen Tools und Best Practices kannst du das volle Potenzial von Nova ausschöpfen und beeindruckende Admin-Panels bauen. Also, worauf wartest du noch? Probier es aus und sieh selbst, wie viel einfacher die Verwaltung deiner Laravel-Anwendung sein kann!

0 Kommentare

Schreib Kommentar

Bitte melden Sie sich erst an!

oder Login with Google

StoryStube

Entdecken Sie spannende Neuigkeiten, praktische Tipps und hilfreiche Tricks rund um die neuesten Trends in meiner Branche. Bleiben Sie auf dem Laufenden mit meinen Beiträgen und innovativen Ideen...

Mehr Web-Leistung?
Jetzt unverbindlich anfragen!

Bereit für Neues?

Maßgeschneiderte Webentwicklung für ein einzigartiges Nutzererlebnis

Programmieren mit Präzision

Einzigartige und Professionelle

  • Kreative Gestaltung von Website-Layouts.
  • Digitalisierung auf höchstem Niveau.
  • Kreative Lösungen, starke Webseiten.
  • Anwendung für eine schnelle und reibungslose Benutzererfahrung.

Kontakt

Kontaktieren Sie mich noch heute, um umfassende Informationen zu meinen Dienstleistungen zu erhalten und zu erfahren, wie ich Sie wirkungsvoll bei der Umsetzung Ihres Webprojekts unterstützen kann.

Captcha
Entdecken Sie die Leistungsfähigkeit von Laravel für individuelle Webentwicklung! - Maßgeschneiderte Webentwicklung für ein einzigartiges Nutzererlebnis!

Live-Programmierungssitzung buchen, Echtzeit-Programmierhilfe reservieren, Sofortige Hilfe bei der Programmierung anfordern, Live-Unterstützung für Programmierprojekte buchen, Personalisierte Programmierberatung buchen, Online-Programmier-Coaching vereinbaren, Virtuelle Programmierhilfe in Echtzeit erhalten, Direkte Programmierungshilfe online buchen, Interaktive Programmierunterstützung reservieren, Programmierexperten live konsultieren, Sofortige Hilfe von Entwicklern einholen, Echtzeit-Entwicklungsunterstützung anfordern, Persönliche Programmierungssitzung buchen, On-Demand-Programmierungshilfe buchen, Live-Entwicklerberatung in Anspruch nehmen, Programmierprobleme live besprechen, Maßgeschneiderte Programmierunterstützung vereinbaren, Online-Session mit Programmierexperten planen, Interaktive Lösungen für Programmieraufgaben reservieren, Live-Programmierhilfe sofort verfügbar machen,