如何在 Zend2 中访问另一个命名空间中的模型


How can i access a Model in another Namespace in Zend2?

我是Zend2的新手,我在命名空间中创建了一个模型(类),我想在另一个命名空间的控制器中创建一个模型的实例,所以你知道我该怎么做吗?

谢谢塔瑞克

请在此处输入类名和命名空间。当然,您可以从另一个命名空间创建类,您所需要的只是使用该命名空间。例如

   $x = new MyNamespace'SuperClass'Hello'MySuperClass();
   ----     <---------namespace---------><-className---> 

若要避免每次写入整个命名空间,可以在脚本开头使用 use

namespace currentNamespace;
use MyNamespace'SuperClass'Hello;
class myClass() {
    public function something() {
        $x = new MySuperClass(); // instead of MyNamespace'SuperClass'Hello'MySuperClass();
    }
}

我找到了如下解决方案:在模块中.php我应该注册我的模型(类):

public function getServiceConfig()
{
    return array(
        'invokables' => array(
            'User' => 'Application'Model'User'
        ),            
    );
}

后来当我想在另一个类中使用它时,我这样称呼它:

$User = $this->getServiceLocator()->get('User');