यह प्रोजेक्ट एक स्वच्छ आर्किटेक्चर ऐप के एप्लिकेशन के हिस्से की निर्भरता इंजेक्शन को प्रबंधित करने के लिए क्लास का एक सेट है,
उपयोग किए गए ढांचे से स्वतंत्र।
गिट: https://git.small-project.dev/lib/small-clean-application
पैकेजिस्ट: https://packagist.org/packages/small/clean-application
composer require small/clean-application
पैरामीटर्स को यूज़केस कंस्ट्रक्टर में स्वचालित रूप से इंजेक्ट करने के लिए प्रबंधित किया जाता है।
आप मुखौटा स्थिर वस्तु के माध्यम से पैरामीटर सेट कर सकते हैं:
\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']);इंटरफेस
तीन इंटरफ़ेस आपके कोड की संरचना करते हैं:
यहां हमारा टेस्टडिपेंडेंसी उदाहरण अनुरोध वर्ग है:
before; } }
और उसका इंटरफ़ेस:
और यहां प्रतिक्रिया कार्यान्वयन है:
status; } }और उसका इंटरफ़ेस:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3