मैं नामस्थानों का उपयोग करने की कोशिश कर रहा हूं। मैं एक अलग नामस्थान के अंदर एक कक्षा का विस्तार करना चाहता हूँ। कक्षा का नाम वही है। उदाहरण:एक ही कक्षा नाम के साथ एक अन्य नामस्थान के साथ कक्षा को विस्तारित करना
जनक:
namespace Base;
class Section extends Skeleton {
protected $id;
protected $title;
protected $stylesheet;
}
बाल:
namespace Base2;
use \Base\Section;
class Section
extends \Base\Section {
}
यह एक आवेदन जो सिद्धांत 2 और Zend फ्रेमवर्क का उपयोग करता है। बेस/सेक्शन द्वारा उपयोग की जाने वाली कंकाल वर्ग केवल एक अमूर्त वर्ग है जिसमें जादू विधियां (__get, _set, आदि) शामिल हैं।
जब मैं एक \ Base2 \ धारा वर्ग यह एक त्रुटि फेंकता का दृष्टांत का प्रयास करें:
Fatal error: Cannot declare class Base2\Section because the name is
already in use in /var/www/test/application/Models/Base2/Section.php
on line 7
किसी भी विचार है?
क्या यह नामकरण योजना रखने में थोड़ा उलझन में नहीं है? –
हां यह है, लेकिन यह असली नामकरण योजना नहीं है। केवल अनुभाग भाग वास्तविक है। नामस्थान बस यादृच्छिक हैं। –
@Rene: क्या आप वाकई सुनिश्चित हैं कि वे _arbitrary_ नहीं हैं? –