"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Aplicação de limpeza pequena

Aplicação de limpeza pequena

Publicado em 2024-08-06
Navegar:489

Small Clean Application

Este projeto é um conjunto de classes para gerenciar a injeção de dependência da parte do aplicativo de um aplicativo de arquitetura limpa,
independentemente da estrutura utilizada.

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

Instalar

composer require small/clean-application

Parâmetros

Os parâmetros são gerenciados para injetá-los automaticamente no construtor UseCase.

Você pode definir parâmetros através do objeto estático de fachada:

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

Você também pode obtê-los pela fachada :

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

Saída :

http://clean.com

Classe UseCase

Caso simples

Um caso de uso é uma materialização de classe de caso de uso que implementa Small\CleanApplication\Contract\UseCaseInterface.

Por exemplo, aqui está simplesmente um caso de uso que retorna uma string:

Você pode usá-lo 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());

Saída :

a

Injetando outro caso de uso no seu caso de uso

Você pode injetar outro caso de uso no construtor de caso de uso:

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

    }

}

A propriedade testUseCase será criada automaticamente como objeto TestUseCase.

Injetando parâmetros em seu caso de uso

Você pode injetar parâmetros em seu caso de uso digitando e nomeando a propriedade em seu construtor de caso de uso:

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

    }

}

O sublinhado ('_') separa as chaves da matriz da estrutura dos parâmetros. Aqui está um exemplo que corresponde ao
$testUseCase_param :

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

Interfaces

Três interfaces estruturam seu código:

  • Small\CleanApplication\Contract\UseCaseInterface : Todos os seus casos de uso devem implementar esta interface
  • Small\CleanApplication\Contract\Request : todas as suas solicitações de caso de uso devem implementar esta interface
  • Small\CleanApplication\Contract\Response : Todas as respostas do seu caso de uso devem implementar esta interface

Aqui está nosso exemplo de classe de solicitação TestDependency:

before;

    }

}

E sua interface:

E aqui está a implementação da resposta:

status;
    }

}

E sua interface:

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/sebk69/small-clean-application-4c1c?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3