PHP 7 में बेनामी कक्षाओं को नई कक्षा का उपयोग करके परिभाषित किया जा सकता है। इसका उपयोग पूर्ण वर्ग परिभाषा के बजाय भी किया जा सकता है। अनाम कक्षाओं का उपयोग क्यों करें?
- मॉकिंग टेस्ट आसान है।
- इंटरफ़ेस के लिए गतिशील कार्यान्वयन आसानी से बनाए जा सकते हैं, जिससे जटिल मॉकिंग एपीआई के उपयोग से बचा जा सकता है।
-
उन्हें उस दायरे में रखा जा सकता है जहां उन्हें परिभाषित किया गया था।
-
सरल कार्यान्वयन के लिए ऑटोलोडर के उपयोग से बचा जा सकता है।
उदाहरण
नीचे एक कोड नमूना है -
<?php interface a_logger { public function log(string $msg); } class App { private $logger; public function getLogger(): a_logger { return $this->logger; } public function setLogger(a_logger $logger) { $this->logger = $logger; } } $app = new App; $app->setLogger(new class implements a_logger { public function log(string $msg) { print($msg); } }); $app->getLogger()->log("This has created an anonymous class"); ?>
आउटपुट
यह निम्नलिखित आउटपुट देगा -
This has created an anonymous class