«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Небольшое чистое приложение

Небольшое чистое приложение

Опубликовано 6 августа 2024 г.
Просматривать:293

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

Класс UseCase

Простой случай

Сценарий использования — это материализация класса варианта использования, который реализует 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']);

Интерфейсы

Три интерфейса структурируют ваш код:

  • 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