Lorsque vous vous développez avec Laravel, vous rencontrez souvent des scénarios où certaines fonctions ou bibliothèques de classe doivent être réutilisées. Afin d'améliorer la maintenabilité du projet et la réutilisation du code, il est très utile de maîtriser comment introduire des fichiers de fonction personnalisés ou des bibliothèques de classe.
Il est recommandé de créer un nouveau sous-répertoire (tel que App / Custom ) dans l'application / répertoire du projet Laravel pour stocker la logique de code personnalisée. Vous pouvez en créer un nouveau dans ce répertoire:
Le chargement des fonctions personnalisées dans les projets Laravel nécessite généralement une introduction manuelle dans le fournisseur de services. Par exemple, ajoutez le code suivant à la méthode Register () de l'application / fournisseurs / appsertprovider.php :
public function register()
{
require_once app_path('Custom/functions.php');
}
De cette façon, votre fichier de fonction sera automatiquement chargé chaque fois que Laravel démarre.
Afin de permettre à Laravel de reconnaître automatiquement votre bibliothèque de classe, il peut être implémenté via le mécanisme PSR-4 du compositeur. Ajoutez la configuration suivante dans la section Autoload du fichier composer.json :
"autoload": {
"psr-4": {
"App\\": "app/",
"Custom\\": "app/Custom/"
}
},
Une fois la modification terminée, exécutez la commande suivante pour mettre à jour le chargement automatique:
composer dump-autoload
Une fois la configuration de classe personnalisée terminée, il peut être utilisé normalement dans le contrôleur, la classe de service ou d'autres fichiers:
use Custom\CustomClass;
$customInstance = new CustomClass();
Assurez-vous que l'espace de noms dans le fichier de classe est cohérent avec la structure du répertoire, comme indiqué ci-dessous:
namespace Custom;
class CustomClass {
// Logique de classe
}
Si vous souhaitez appeler une fonction personnalisée dans un modèle de lame, vous pouvez enregistrer la directive Blade dans la méthode Boot () du fournisseur de services:
public function boot()
{
Blade::directive('customFunction', function ($expression) {
return "<?php echo custom_function($expression); ?>";
});
}
Une fois l'inscription réussie, vous pouvez l'appeler dans le fichier de lame en utilisant la méthode suivante:
@customFunction('example')
Cela gardera votre code de modèle soigné et plus évolutif.
Grâce à l'introduction de cet article, je crois que vous avez maîtrisé les méthodes d'introduction de fonctions personnalisées et de bibliothèques de classe dans le projet Laravel. Qu'il s'agisse d'introduire manuellement des fichiers de fonction ou de charger automatiquement la bibliothèque de classe via la configuration du compositeur, ces techniques peuvent améliorer considérablement l'efficacité de développement et l'organisation du code.