国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? ??? ?? PHP ???? PHP?? DDD ?? ?? ??

PHP?? DDD ?? ?? ??

Nov 12, 2024 pm 10:18 PM

Implementing a DDD Use Case in PHP

PHP?? DDD ?? ?? ??

? ????? PHP? ??? ?? ???(DDD) ?? ?? ??? ???? ?????? ???? ???? ???? ??? ???? ???? ??? ?????. ??? ???(TaxManagerInterface)? ???? ??? ???? ?? ?? ???? ???? TaxPersistUseCase ???? ???????.

? ??? DDD ??? ?????. ? ?? ??? ??? ?? ? ?? ??? ?? ??? ?? ?????, ???? ?? ? ??? ???? ?????.

TaxPersistUseCase? ??

TaxPersistUseCase ???? ?? ??? ??? ???? ??? ?????. ? ?? ??? ??? ??? ??? ?? ?? ?? ???? ???? ????.

??? ??

namespace Domain\Application\UseCase\Order;

use Domain\Application\Entity\Order\Tax;
use Domain\Application\Gateway\Manager\Order\TaxManagerInterface;
use Domain\Application\UseCase\Order\Exception\NotFoundException;
use Domain\Application\UseCase\Order\Interfaces\TaxPersistRequestInterface;
use Domain\Application\UseCase\Order\Interfaces\TaxPersistResponseInterface;
use Domain\Exception\BadRequestException;
use Domain\Exception\FormException;
use Small\CleanApplication\Contract\UseCaseInterface;
use Small\Collection\Collection\StringCollection;
use Small\SwooleEntityManager\EntityManager\Exception\EmptyResultException;

TaxPersistUseCase ???? ?? ???? ???? ?? ?? ?????? ??? ?????. ??? ??? ????.

TaxManagerInterface : ?? ??? ???? ?? ????????.

TaxPersistRequestInterface ? TaxPersistResponseInterface: ?? ??? ?? ? ??? ?? ?????
??: BadRequestException, FormException ? NotFoundException? ?? ??? ??? ??? ??? ???? ? ??? ???.

TaxPersistUseCase ??? ??

namespace Domain\Application\UseCase\Order;

use Domain\Application\Entity\Order\Tax;
use Domain\Application\Gateway\Manager\Order\TaxManagerInterface;
use Domain\Application\UseCase\Order\Exception\NotFoundException;
use Domain\Application\UseCase\Order\Interfaces\TaxPersistRequestInterface;
use Domain\Application\UseCase\Order\Interfaces\TaxPersistResponseInterface;
use Domain\Exception\BadRequestException;
use Domain\Exception\FormException;
use Small\CleanApplication\Contract\UseCaseInterface;
use Small\Collection\Collection\StringCollection;
use Small\SwooleEntityManager\EntityManager\Exception\EmptyResultException;
  • ??? ? ??? ??: ???? TaxManagerInterface? ????? ???? TaxPersistUseCase? ?? ??? ???? ?? Tax ??? ???? ? ????? ?????.
  • ?? ?? ??: ?? ???? $request ??? TaxPersistRequestInterface? ????? ?????. ??? ?? ??? ??? ?? ??? ????? ???? ????? ?? ??? ??? ?????.
  • ?? ?? ??: ??? ??? ?? ?? ???? getTax()? ?? $request?? ?? ??? ???? TaxManagerInterface?? applicationPersist ???? ?????. ? ??? ????? ???? ??? ???? ?? try-catch ?? ?? ??????
  • EmptyResultException: ?? ???? ?? ? ?? ?? ? ??? ???? NotFoundException? ???? ??? ????.
  • FormException: ?? ??? ??? ???? FormException? ???? ?? ???? StringCollection? ?????.
  • ?? ???? ?? ?? ??: ?? ???? TaxPersistResponseInterface? ???? ?? ??? ??? ?????. ???? getTax() ? getMessages() ???? ???? ??? ?? Tax ??? ? ?? ???? ???? ? ????.

?? ?? ?????

?????? ? ?? ??? ???? ?? ??? ???? ?? ? ??? ???? ?????.

?? ??? ?????

? ?????? ?? ? ???? ??? ?? ?? ??? ?????.

class TaxPersistUseCase implements UseCaseInterface
{

    public function __construct(
        protected TaxManagerInterface $taxManager,
    ) {}

    public function execute(mixed $request): TaxPersistResponseInterface
    {

        if (!$request instanceof TaxPersistRequestInterface) {
            throw new BadRequestException(
                self::class . ' accepts only request instance of ' . TaxPersistRequestInterface::class
            );
        }

        $tax = $request->getTax();
        $messages = new StringCollection();

        try {
            $this->taxManager->applicationPersist($tax);
        } catch (EmptyResultException $e) {
            throw new NotFoundException($e->getMessage());
        } catch (FormException $e) {
            $messages = $e->getFormMessages();
        }

        return new class($tax, $messages) implements TaxPersistResponseInterface
        {
            public function __construct(
                protected readonly Tax $tax,
                protected readonly StringCollection $messages,
            ) {}

            public function getTax(): Tax
            {
                return $this->tax;
            }

            public function getMessages(): StringCollection
            {
                return $this->messages;
            }
        };

    }

}
  • findById() ? findByName(): ? ???? ???? ID ?? ???? ??? ??? ? ????.
  • applicationPersist(): ? ???? ?? ??? ???? ?????.

TaxPersistRequest?????

? ?????? TaxPersistUseCase?? ???? ?? ??? ?????.

interface TaxManagerInterface
{
    public function findById(int $id): Tax;
    public function findByName(string $name): Tax;
    public function applicationPersist(Tax $tax): self;
}
  • getTax(): ? ???? ??? ?? ???? ???? ?? ??? ?? ??? ??? ?? ???? ? ??? ???. TaxPersistResponse?????
  • ?? ?????? TaxPersistUseCase? ??? ???? ??? ????? ?????.
interface TaxPersistRequestInterface extends RequestInterface
{
    public function getTax(): Tax;
}
  • getTax(): ??? ?? ???? ????? ??? ??? ?? null? ?????.
  • getMessages(): ?? ??? ??? ?? ?? ???? ??? StringCollection? ?????.

?? ? ?? ??

??? ???? ??? ???? DDD?? ??? ??? ???.

  • BadRequestException: ?? ??? ??? ??? ??? ?? ?? ?????.
  • NotFoundException: ?? ?? ?? ??? ?? ? ?? ?? ?????.
  • FormException: ??? ?? ??? ???? ?? ?????? StringCollection? ?? ???? ???????.

? ??? PHP?? DDD ?? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

?? ??

?? : ????? ????? ??
4 ? ? ? By DDD
?? ?? ??
3 ? ? ? By Jack chen
???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

?? ????
1787
16
Cakephp ????
1730
56
??? ????
1582
29
PHP ????
1451
31
???
PHP?? ?? ? ??? ????? ????????? PHP?? ?? ? ??? ????? ????????? Jun 20, 2025 am 01:03 AM

TOSECURELYHANDLEAUSTENCENDACTIONANDACTERIZINGINPHP, FORCUCTSESTEPS : 1. ALWAYSHASHPASSWORTHPASSWORD_HASH () ? VERVERIFYUSINGPANSWORD_VERIFY (), usePREPAREDSTATEMENTSTOPREVENTSQLINGERGED, andSTOREUSERSESSEATAIN $ _SESSIONSAFTERLOGIN.2.impleplempletrole ?? ACCESSC

?? PHP ?? ? ?? ??? ??? ?? ??? ?????? ?? PHP ?? ? ?? ??? ??? ?? ??? ?????? Jun 23, 2025 am 12:56 AM

tostaycurrentwithphpdevelopments ? bestpractices, followkeynewssources lifephp.netandphpweekly, adgytwithcommunitiesonforumsandconferences, readlingupdated andgrad indewfeatures, andreadorcontributetoopensourceproceprosts.first

PHP ? ???? ? ??? ? ?????? PHP ? ???? ? ??? ? ?????? Jun 23, 2025 am 12:55 AM

phpbecamepupularforwebdevelopmentduetoiteofleneflening, whithhtml, wididepreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsformslikewordpress.itexcelsinhandlingformsubmissions, managingussess, interptisussivers, ?? ???

PHP ???? ???? ??? PHP ???? ???? ??? Jun 25, 2025 am 01:00 AM

TOSETTHERIGHTTIMEZONEINPHP, usedate_default_timezone_set () functionattStartOfyourscriptwitHavalidInlifiersuchas'America/new_york'.1.edate_default_timezone_set () beforeanydate/timeFunctions.2

?? ?? (Windows, MacOS, Linux)? PHP? ????? ??????? ?? ?? (Windows, MacOS, Linux)? PHP? ????? ??????? Jun 20, 2025 am 01:02 AM

PHP ?? ??? ?? ???? ????. ??? ?? ?????. 1. Windows ???? XAMPP? ???? ???? ????? ???? ???? XAMPP? ?????? ???? PHP ?? ??? ????? ?? ??? PHP? ?? ? ? ????. 2. MACOS ???? ???? ?? PHP? ???? ?? ??? ???? Apache ??? ???? ?? ? ? ????. 3. Linux ??? (Ubuntu/Debian)? APT ??? ???? ???? ??? ?????? PHP ? Common Extensions? ???? ??? ??? ???? ??? ????? ??? ? ????.

PHP?? ??? ??? ???? ?? ??? ????? ??? ?????? PHP?? ??? ??? ???? ?? ??? ????? ??? ?????? Jun 22, 2025 am 01:00 AM

TovalidateUserInputInphp, useBuilt-invalidationFunctions likefilter_var () ? filter_input (), applyRegulArexPessionSforCustomFormatsSuchasUsUserPhonEnumbers, CheckDatatypesFornumericValuesLikeAgeArPrice, setLtrimtsAnspacetReopeTopeTopeTopePeTopePeTopePeTopeTopeTopeTlyout

session_destroy ()? ???? PHP? ??? ??? ?????? session_destroy ()? ???? PHP? ??? ??? ?????? Jun 20, 2025 am 01:06 AM

PHP?? ??? ??? ????? ?? Session_Start ()? ???? ??? ??? ?? Session_Destroy ()? ???? ?? ?? ???? ???????. 1. ?? ?? _start ()? ???? ??? ?????? ??????. 2. ?? ?? ?? ???? ???? Session_Destroy ()? ?????. 3. ?? ????? ?? : ?? ??? ????? ???? $ _session ??; 4. ???, ???? ?? ??? ???? ???? ?? ??? ??????. 5. ????? ?? ? ???? ?????? ???? ???? ?? ??? ?? ????? ??? ??? ?? ???????. ????? ???? ?? ??? ??? ?? ???? ??? ?? ? ? ????.

???? ?? ?? ??? PHP ??? ?????? ?? ??? ?????? ???? ?? ?? ??? PHP ??? ?????? ?? ??? ?????? Jun 24, 2025 am 12:53 AM

???? ???? ?? PHP ??? ???? ??? ??, ???? ??? ?? ??? ?? ??? ????. ??? ??? ???? ? ?????. 1. $ userData ? calculateToTalPrice ()? ?? ??? ??, ?? ? ??? ??? ??????. 2. PSR-12 ?? ?? ?? ???? ?????. 3. ??? ?? ?? ??? ???? MVC ?? Laravel ??? ????? ???? ??????. 4. ?? ??? ??? ??? ?? ???? ??? ?? ???? ????. 5. ? ???? ??? ???? ????? ??? ???? ?? ??, ?? ? ? ??? ??????. 6. ??? ??? ??, ??? ?? ??, ??? ?? ? ?? ??? ????. ??? ??? ?? ??, ?? ??? ? ?? ?? ? ???? ??????.

See all articles