Este proyecto es un conjunto de clases para gestionar la inyección de dependencias de la parte de la aplicación de una aplicación de arquitectura limpia,
independientemente del framework utilizado.
Git: https://git.small-project.dev/lib/small-clean-application
Empaquetador: https://packagist.org/packages/small/clean-application
composer require small/clean-application
Los parámetros se administran para inyectarlos automáticamente en el constructor UseCase.
Puedes configurar parámetros a través del objeto estático de fachada:
\Small\CleanApplication\Facade::setParameter('test', [ 'host' => 'http://clean.com', 'port' => 80 ]);
También puedes conseguirlos por la fachada :
echo \Small\CleanApplication\Facade::getParameter('test.host');
Producción :
http://clean.com
Un caso de uso es una materialización de clase de un caso de uso que implementa Small\CleanApplication\Contract\UseCaseInterface.
Por ejemplo, aquí se muestra simplemente un caso de uso que devuelve una cadena:
Puedes usarlo usando fachada :
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());Producción :
aInyectar otro caso de uso en su caso de uso
Puedes inyectar otro caso de uso en el constructor de casos de uso:
getBefore() . $this->testUseCase->execute($request)->getStatus() ); } }La propiedad testUseCase se creará automáticamente como objeto TestUseCase.
Inyectar parámetros en su caso de uso
Puedes inyectar parámetros en tu caso de uso escribiendo y nombrando propiedades en el constructor de tu caso de uso:
testUseCase_param . $request->getBefore() . $this->testUseCase->execute($request)->getStatus() ); } }Las claves de matriz separadas del subrayado ('_') de la estructura de parámetros. Aquí hay un ejemplo que coincide con
$testUseCase_param:\Small\CleanApplication\Facade::setParameter('testUseCase', ['param' => 'p']);Interfaces
Tres interfaces estructuran tu código:
Aquí está nuestra clase de solicitud de ejemplo TestDependency:
before; } }
Y su interfaz :
Y aquí está la implementación de la respuesta:
status; } }Y su interfaz :
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3