Avatar ·

PHP में ट्रेट के मेथड को ओवरराइड कैसे करें और ओवरराइड किए गए मेथड से इसे कैसे कॉल करें?

सभी को नमस्ते! मैं PHP सीख रहा हूँ और ट्रेट्स के साथ एक समस्या में फंस गया हूँ। स्थिति यह है: मेरे पास एक ट्रेट `Logger` है, जिसमें एक मेथड `log($message)` है। यह मेथड बस कंसोल में संदेश प्रिंट करता है। मैं इस ट्रेट को `UserService` क्लास में उपयोग करना चाहता हूँ, लेकिन मुझे `log` मेथड के व्यवहार को बदलना है: संदेश में क्लास का नाम प्रीफिक्स के रूप में जोड़ना है। हालांकि, मेथड को ओवरराइड करने के बाद मैं ट्रेट के मूल वर्जन को कॉल नहीं कर पा रहा हूँ। यहाँ कोड का उदाहरण है: ```php trait Logger { public function log($message) { echo "LOG: " . $message . ""; } } class UserService { use Logger; public function log($message) { // मैं ट्रेट के पैरेंट मेथड को कॉल करना चाहता हूँ, लेकिन नहीं जानता कैसे // parent::log($message); // एरर! echo "[" . __CLASS__ . "] " .