ommua / solid-domain
一个遵循SOLID原则,在统一位置封装和处理错误的PHP库
0.1.2
2020-09-29 18:45 UTC
Requires
- php: >=7.1
Requires (Dev)
- 00f100/phpdbug: *
- phpunit/phpunit: 6.*
This package is auto-updated.
Last update: 2024-09-29 05:36:33 UTC
README
一个遵循SOLID原则,在统一位置封装和处理错误的PHP库
如何安装
Composer
$ composer require ommua/solid-domain
或者在composer.json中添加
{ "require": { "ommua/solid-domain": "*" } }
如何使用
注意:在您的新对象Domain中实现"final protected function invokeDomain()"是必需的
EXAMPLE: <?php use Ommua\FailureResponse; use Ommua\SuccessResponse; use Ommua\SolidDomain; use Ommua\Interfaces\EitherFailureOrSuccess; class ConvertStringToInteger extends SolidDomain { /** * * @param String $stringNumber * @return EitherFailureOrSuccess */ final protected function invokeDomain(String $stringNumber) { if (is_numeric($stringNumber)) return new SuccessResponse(intval($stringNumber)); else return new FailureResponse(["Error cast string {$stringNumber}"]); } } $convertStringToInteger = new ConvertStringToInteger(); $failureOrSuccess = $convertStringToInteger("5"); $result= $failureOrSuccess->fold(function($error){ return $error; }, function ($success){ return $success; }); // Print: 5 echo $result; $failureOrSuccess = $convertStringToInteger("five"); $result= $failureOrSuccess->fold(function($error){ return $error; }, function ($success){ return $success; }); // Print: ["Error cast string five"] echo $result;