2010-04-09 17 views
9

अगर मैं एक नाम स्थान com\testउपयोग अन्य नामस्थान

और अंदर कुछ php वर्ग में कई वर्गों एक और php फ़ाइल में उन सभी को आयात करने का तरीका ऐसा कर सकते हैं करना चाहते हैं?

use com\test\ClassA 
use com\test\ClassB 
... 

use com\test\* मुझे वाक्यविन्यास त्रुटि दें।

उत्तर

3

यह काम करना चाहिए:

use com\test; 

$a = new \test\ClassA; 
$b = new \test\ClassB; 

या

use com\test\ClassA as ClassA; 
use com\test\ClassB as ClassB; 

$a = new ClassA; 
$b = new ClassB; 

PHP manual on Using namespaces: Aliasing/Importing देखें।

+8

बहुत उबाऊ! उम्मीद है कि PHP डेवलपर्स उस सुविधा को रखेंगे। – xdevel2000

+1

सहमत हुए। मुझे एहसास है कि यह टकराव नामकरण को रोकने के लिए है लेकिन ईमानदारी से - .NET, जावा, और अन्य वर्षों से ऐसा कर रहे हैं। क्या हमें बदसूरत वाक्यविन्यास रखने के लिए मजबूर करने के बजाय घातक त्रुटि फेंकना मुश्किल है? –

1

मुझे लगता है कि आप ऐसी चीज नहीं कर सकते हैं।

आप कर सकते हैं:

use com\test 

और के रूप में बाद में अपनी कक्षाओं का संदर्भ लें:

test\ClassA 
test\ClassB 
3

PHP 7.0 से आगे, कक्षाओं, कार्यों और स्थिरांक को उसी नामस्थान से आयात किया जा रहा है, एक ही उपयोग कथन में एक साथ समूहीकृत किया जा सकता है।

इस तरह की तरह:

use com\test\{ClassA, ClassB}; 

$a = new ClassA; 
$b = new ClassB; 
संबंधित मुद्दे