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

时间:2015-01-26 08:07:56

标签: php model namespaces instance

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

由于 塔雷克

2 个答案:

答案 0 :(得分:1)

请在此处输入班级名称和名称空间。当然,您可以从另一个命名空间创建类,您只需要使用该命名空间。 E.g

   $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();
    }
}

答案 1 :(得分:0)

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

public function getServiceConfig()
{
    return array(

        'invokables' => array(
            'User' => 'Application\Model\User'
        ),            
    );
}

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

$ User = $ this-&gt; getServiceLocator() - &gt; get(&#39; User&#39;);