Skip to content

Philosophie de développement

Il est important de respecter la phylosophie de développement initié par le boilerplate. Le T32B étant basé sur Laravel 12, nous essayerons tout au long du développement de respecter les guidelines de se framework PHP très populaire.

Le modèle MVC

C'est un concept de développement très répandu qui cherche à séparer au mieux la logique de présentation des information de la logique de récupération. C'est pourquoi, dans le T32B nous devons respecter une règle de base : aucune logique métier dans les vues.

La création d'une nouvelle vue dans le dossier resources/views entraine la création d'une classe ViewComposer. La vue se chargera d'afficher les données et le ViewComposer se chargera de la transmission de la donnée à la vue. Les données seront récupérer à l'aide de helpers, de classe de Services ou de Queries.

Exemple

Création de la vue

bladehtml
<div class="flex items-center gap-5">
    @foreach ($reassurances as $reassurance)
        <div>
            <h2>@safe($reassurance['title'])</h2>
            <p>@safe($reassurance['description'])</p>
        </div>
    @endforeach
</div>

Création du ViewComposer

php
namespace App\View\Composers;

class ReassuranceComposer extends Composer
{
    /**
     * List of views served by this composer.
     *
     * @var string[]
     */
    protected static $views = [
        'partials.reassurances',
    ];
    
    public function __construct(protected ReassuranceService $reassuranceService) {}
    
    public function with(): array
    {
        return [
            'reassurances' => $this->reassuranceService()
        ];
    }
}

Création du Service

php
namespace App\Services;

class ReassuranceServices
{
    public function __invoke(): array
    {
        return wp_parse_args(get_field('reassurances', config('app.options.key')), []);
    }
}