无法从对象引用调用方法

时间:2014-08-08 11:17:19

标签: php doctrine-orm


我是PHP oops的新手,并且下面的代码片段有问题: -

我有一个返回EnityManager对象的单例类,当我尝试使用自动完成调用任何方法时有EM对象后,它不起作用。我知道我们需要告诉IDE一个方法的返回类型才能使事情有效,但是我无法弄清楚要添加到注释中的内容。

请参阅下面的代码段: -

class EntityManagerUtil implements EntityManager {

    protected static $instance = null;

    private static $em = null;

    private function __construct() {
        // Making class singleton
    }

    private function __clone() {
        // Preventing from being clonned
    }

    /**
     * @return EntityManagerUtil $instance
     */
    public static function getInstance() {

        if (! isset ( static::$instance )) {
            static::$instance = new EntityManagerUtil ();
            $doctrine = new \Doctrine ();
            static::$em = $doctrine->getEM ();
        }

        return static::$instance;

    }

    /**
     * 
     * 
     */
    public function getEntityManager() {

        return static::$em;

    }

}  

获得EM的实例后: -

$emImpl =  \Service\Impl\EntityManagerUtil::getInstance();
$em = $emImpl->getEntityManager();

其中Doctrine是一个包含名为$ em的属性的类。

我应该在名为“getEntityManager”的方法的返回注释中添加什么才能获得上述代码? 任何人都可以建议。

0 个答案:

没有答案