"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 소규모 클린 애플리케이션

소규모 클린 애플리케이션

2024-08-06에 게시됨
검색:188

Small Clean Application

이 프로젝트는 클린 아키텍처 앱의 애플리케이션 부분에 대한 종속성 주입을 관리하기 위한 클래스 집합입니다.
사용된 프레임워크와 독립적입니다.

Git : https://git.small-project.dev/lib/small-clean-application
패키지스트 : https://packagist.org/packages/small/clean-application

설치하다

composer require small/clean-application

매개변수

매개변수는 UseCase 생성자에 자동으로 주입되도록 관리됩니다.

파사드 정적 객체를 통해 매개변수를 설정할 수 있습니다.

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

파사드를 통해서도 얻을 수 있습니다:

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

출력:

http://clean.com

유스케이스 클래스

간단한 케이스

유스케이스는 Small\CleanApplication\Contract\UseCaseInterface를 구현하는 유스케이스의 클래스 구체화입니다.

예를 들어 다음은 문자열을 반환하는 간단한 사용 사례입니다.





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());

출력:

a

자신의 사용 사례에 다른 사용 사례 삽입

사용 사례 생성자에 다른 사용 사례를 삽입할 수 있습니다.

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

    }

}

testUseCase 속성은 자동으로 TestUseCase 개체로 생성됩니다.

사용 사례에 매개변수 삽입

사용 사례 생성자에 속성을 입력하고 이름을 지정하여 사용 사례에 매개변수를 삽입할 수 있습니다.

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

    }

}

밑줄('_')은 매개변수 구조의 배열 키를 구분합니다. 다음은
와 일치하는 예입니다. $testUseCase_param :

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

인터페이스

코드의 세 가지 인터페이스 구조:

  • Small\CleanApplication\Contract\UseCaseInterface : 모든 사용 사례는 이 인터페이스를 구현해야 합니다.
  • Small\CleanApplication\Contract\Request : 모든 사용 사례 요청은 이 인터페이스를 구현해야 합니다.
  • Small\CleanApplication\Contract\Response : 모든 사용 사례 응답은 이 인터페이스를 구현해야 합니다.

다음은 TestDependency 요청 클래스 예시입니다.

before;

    }

}

그리고 그의 인터페이스는 :





그리고 응답 구현은 다음과 같습니다.

status;
    }

}

그리고 그의 인터페이스는 :






          

            
        
릴리스 선언문 본 글은 https://dev.to/sebk69/small-clean-application-4c1c?1 에서 복제하였습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제해 주시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3