[Laravel] Quelles sont les meilleures pratiques et les meilleurs endroits pour aider 4 larvar ou les fonctions de base?


Answers

Ma façon de faire est de créer un nouveau dossier dans le répertoire /app à la racine de votre projet Laravel 4. Ensuite, ajoutez ce dossier au premier tableau du fichier /app/start/global.php comme /app/start/global.php :

<?php

ClassLoader::addDirectories(array(

app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/classes', // This line is the one I've added.

));

Tant que la structure du dossier dans le nouveau dossier /app/classes suit votre convention d'espaces de noms. Laravel 4 va automatiquement charger toutes les classes / fichiers dans ce dossier. De cette façon, il n'est pas nécessaire de creuser dans des fichiers compositeurs ou d'exécuter une commande composer.

Je ne sais pas si c'est la meilleure pratique, mais cela fonctionne certainement.

Si vous avez créé un fichier simple appelé /app/classes/Helpers/Helper.php comme ceci:

<?php namespace Helpers;

class Helper {

    public static function helloWorld()
    {
        return 'Hello World';
    }
}

Tout ce que vous devez faire est d'appeler Helpers\Helper::helloWorld();

Vous pouvez également alias cette classe d'assistance dans votre fichier /app/config/app.php . Ajoutez juste quelque chose comme ceci à la fin du tableau d' aliases :

'Helper'          => 'Helpers\Helper'
Question

Donc, j'essaie de comprendre le meilleur endroit pour mettre une fonction globale dans laravel 4. Par exemple: mise en forme de la date. Je ne pense pas que faire une façade en vaut la peine, les façades sont trop modulaires. J'ai lu des articles sur la création d'un dossier de bibliothèque et le stockage des classes, mais cela semble aussi beaucoup pour une fonction simple. De même, un outil comme celui-ci ne devrait-il pas être disponible dans les modèles de lames?

Quelles sont les meilleures pratiques pour quelque chose comme ça? Et comment puis-je le rendre disponible pour les modèles de lame?







Links