「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 小規模でクリーンなアプリケーション

小規模でクリーンなアプリケーション

2024 年 8 月 6 日に公開
ブラウズ:747

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 を実装するユース ケースを具体化したクラスです。

たとえば、これは文字列を返す単純なユースケースです:





ファサードを使用して使用できます:

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']);

インターフェース

3 つのインターフェイス構造のコード:

  • 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