2012-08-12 13 views
5

के एक उदाहरण के लिए मान लीजिए मैं एक वर्ग है:एक नाम स्थान में एक चर के नाम से एक नया वर्ग इन्स्तांत

//no namespace 
class User { 
    //... 
} 

और मैं एक चर है: मैं एक new User कैसे दृष्टांत है

$model = 'User'; 

जब मैं वर्तमान में नामस्थान में हूं?

new $model काम करता है जब मैं नामस्थान में नहीं हूं। लेकिन अगर मैं नामस्थान में हूं और User नामस्थान में नहीं है तो क्या होगा।

कुछ इस तरह काम नहीं करता:

namespace Admin; 

class Foo { 
    function fighter($model) 
    { 
     return new \$model; 
     // syntax error, unexpected '$model' 
    } 
} 

} 

उत्तर

8

एक चर में पहले पूरा नाम स्थान रखो और फिर इसे का उपयोग करें।

<?php  
$namespace = '\\'.$model; 

return new $namespace 
?> 

एक ही विषय: Can PHP namespaces contain variables?

संबंधित मुद्दे