„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Kleine, saubere Anwendung

Kleine, saubere Anwendung

Veröffentlicht am 06.08.2024
Durchsuche:710

Small Clean Application

Dieses Projekt ist eine Reihe von Klassen zur Verwaltung der Abhängigkeitsinjektion des Anwendungsteils einer App mit sauberer Architektur,
unabhängig vom verwendeten Framework.

Git: https://git.small-project.dev/lib/small-clean-application
Paketist: https://packagist.org/packages/small/clean-application

Installieren

composer require small/clean-application

Parameter

Parameter werden verwaltet, um sie automatisch in den UseCase-Konstruktor einzufügen.

Sie können Parameter über das statische Fassadenobjekt festlegen:

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

Sie können sie auch durch die Fassade bekommen:

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

Ausgabe :

http://clean.com

UseCase-Klasse

Einfacher Fall

Ein Anwendungsfall ist eine Klassenmaterialisierung eines Anwendungsfalls, der Small\CleanApplication\Contract\UseCaseInterface implementiert.

Hier ist zum Beispiel ein einfacher Anwendungsfall, der eine Zeichenfolge zurückgibt:

Sie können es mit der Fassade verwenden:

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

Ausgabe :

a

Fügen Sie einen weiteren Anwendungsfall in Ihren Anwendungsfall ein

Sie können einen weiteren Anwendungsfall in den Anwendungsfallkonstruktor einfügen:

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

    }

}

Die Eigenschaft testUseCase wird automatisch als TestUseCase-Objekt erstellt.

Einfügen von Parametern in Ihren Anwendungsfall

Sie können Parameter in Ihren Anwendungsfall einfügen, indem Sie Eigenschaften in Ihren Anwendungsfallkonstruktor eingeben und benennen:

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

    }

}

Der Unterstrich ('_') trennt Array-Schlüssel der Parameterstruktur. Hier ist ein Beispiel, das mit dem
übereinstimmt $testUseCase_param :

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

Schnittstellen

Drei Schnittstellen strukturieren Ihren Code:

  • Small\CleanApplication\Contract\UseCaseInterface: Alle Ihre Anwendungsfälle müssen diese Schnittstelle implementieren
  • Small\CleanApplication\Contract\Request: Alle Ihre Anwendungsfallanfragen müssen diese Schnittstelle implementieren
  • Small\CleanApplication\Contract\Response: Alle Ihre Anwendungsfallantworten müssen diese Schnittstelle implementieren

Hier ist unsere Beispielanforderungsklasse für TestDependency:

before;

    }

}

Und seine Schnittstelle:

Und hier ist die Antwortimplementierung:

status;
    }

}

Und seine Schnittstelle:

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/sebk69/small-clean-application-4c1c?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3