"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Petite application propre

Petite application propre

Publié le 2024-08-06
Parcourir:122

Small Clean Application

Ce projet est un ensemble de classes permettant de gérer l'injection de dépendances d'une partie d'application d'une application à architecture propre,
indépendamment du framework utilisé.

Git : https://git.small-project.dev/lib/small-clean-application
Packagiste : https://packagist.org/packages/small/clean-application

Installer

composer require small/clean-application

Paramètres

Les paramètres sont gérés pour les injecter automatiquement dans le constructeur UseCase.

Vous pouvez définir les paramètres via l'objet statique de façade :

\Small\CleanApplication\Facade::setParameter('test', [
    'host' => 'http://clean.com',
    'port' => 80
]);

Vous pouvez également les faire passer par la façade :

echo \Small\CleanApplication\Facade::getParameter('test.host');

Sortir :

http://clean.com

Classe UseCase

Cas simple

Un cas d'utilisation est une matérialisation de classe d'un cas d'utilisation qui implémente Small\CleanApplication\Contract\UseCaseInterface.

Par exemple, voici simplement un cas d'utilisation qui renvoie une chaîne :

Vous pouvez l'utiliser en utilisant la façade :

use Small\CleanApplication\Test\Feature\Fixture\UseCase\TestUseCase;
use \Small\CleanApplication\Test\Feature\Fixture\UseCase\TestRequest;

echo \Small\CleanApplication\Facade::execute(TestUseCase::class, new TestRequest());

Sortir :

a

Injecter un autre cas d'utilisation dans votre cas d'utilisation

Vous pouvez injecter un autre cas d'utilisation dans le constructeur de cas d'utilisation :

getBefore() . $this->testUseCase->execute($request)->getStatus()
        );

    }

}

La propriété testUseCase sera automatiquement créée en tant qu'objet TestUseCase.

Injection de paramètres dans votre cas d'utilisation

Vous pouvez injecter des paramètres dans votre cas d'utilisation en tapant et en nommant la propriété dans le constructeur de votre cas d'utilisation :

testUseCase_param . $request->getBefore() . $this->testUseCase->execute($request)->getStatus()
        );

    }

}

Le trait de soulignement (« _ ») sépare les clés du tableau de la structure des paramètres. Voici un exemple correspondant au
$testUseCase_param :

\Small\CleanApplication\Facade::setParameter('testUseCase', ['param' => 'p']);

Interfaces

Trois interfaces structurent votre code :

  • Small\CleanApplication\Contract\UseCaseInterface : Tous vos cas d'utilisation doivent implémenter cette interface
  • Small\CleanApplication\Contract\Request : Toutes vos demandes de cas d'utilisation doivent implémenter cette interface
  • Small\CleanApplication\Contract\Response : Toutes les réponses de votre cas d'utilisation doivent implémenter cette interface

Voici notre exemple de classe de requête TestDependency :

before;

    }

}

Et son interface :

Et voici l'implémentation de la réponse :

status;
    }

}

Et son interface :

Déclaration de sortie Cet article est reproduit sur : https://dev.to/sebk69/small-clean-application-4c1c?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3