هذا المشروع عبارة عن مجموعة من الفئات لإدارة حقن التبعية لجزء التطبيق من تطبيق معماري نظيف،
بشكل مستقل عن الإطار المستخدم.
البوابة: https://git.small-project.dev/lib/small-clean-application
Packagist : 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']);واجهات
ثلاث واجهات هيكلة الكود الخاص بك:
إليك نموذج طلب TestDependency الخاص بنا:
before; } }
وواجهته :
وهنا تنفيذ الاستجابة :
status; } }وواجهته :
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3