Bei der Entwicklung mit Laravel begegnen Sie häufig Szenarien, in denen bestimmte Funktionen oder Klassenbibliotheken wiederverwendet werden müssen. Um die Wartbarkeit des Projekts und die Wiederverwendung des Codes zu verbessern, ist es sehr hilfreich zu beherrschen, wie benutzerdefinierte Funktionsdateien oder Klassenbibliotheken eingeführt werden.
Es wird empfohlen, ein neues Unterverzeichnis (z. B. App/ Custom ) im App/ Verzeichnis des Laravel -Projekts zu erstellen, um benutzerdefinierte Codelogik zu speichern. Sie können in diesem Verzeichnis eine neue erstellen:
Das Laden von benutzerdefinierten Funktionen in Laravel -Projekten erfordert in der Regel eine manuelle Einführung in den Dienstanbieter. Fügen Sie beispielsweise den folgenden Code zur Register () -Methode der App/Anbieter/AppServiceProvider.php hinzu:
public function register()
{
require_once app_path('Custom/functions.php');
}
Auf diese Weise wird Ihre Funktionsdatei jedes Mal automatisch geladen, wenn Laravel startet.
Um Laravel zu ermöglichen, Ihre Klassenbibliothek automatisch zu erkennen, kann sie über den PSR-4-Mechanismus des Komponisten implementiert werden. Fügen Sie die folgende Konfiguration im Autoload -Abschnitt der Datei composer.json hinzu:
"autoload": {
"psr-4": {
"App\\": "app/",
"Custom\\": "app/Custom/"
}
},
Führen Sie nach Abschluss der Änderung den folgenden Befehl aus, um das automatische Laden zu aktualisieren:
composer dump-autoload
Nach Abschluss der benutzerdefinierten Klassenkonfiguration kann sie normalerweise in der Controller, der Dienstklasse oder anderen Dateien verwendet werden:
use Custom\CustomClass;
$customInstance = new CustomClass();
Stellen Sie sicher, dass der Namespace in der Klassendatei mit der Verzeichnisstruktur übereinstimmt, wie unten gezeigt:
namespace Custom;
class CustomClass {
// Klassenlogik
}
Wenn Sie eine benutzerdefinierte Funktion in einer Blade -Vorlage aufrufen möchten, können Sie die Blade -Anweisung in der Methode des Dienstanbieters registrieren:
public function boot()
{
Blade::directive('customFunction', function ($expression) {
return "<?php echo custom_function($expression); ?>";
});
}
Nachdem die Registrierung erfolgreich ist, können Sie es in der Blade -Datei mit der folgenden Methode anrufen:
@customFunction('example')
Dadurch hält Ihr Vorlagencode sauber und skalierbarer.
Durch die Einführung dieses Artikels haben Sie die Methoden zur Einführung benutzerdefinierter Funktionen und Klassenbibliotheken im Laravel -Projekt gemeistert. Unabhängig davon, ob die Funktionsdateien manuell eingeführt oder die Klassenbibliothek automatisch durch Komponistenkonfiguration geladen werden, können diese Techniken die Entwicklungseffizienz und die Codeorganisation erheblich verbessern.