symfony2实体自定义函数:调用未定义的函数错误



我正试图添加3个函数来在url中对非ascii字符进行slugify处理,但我的slugifi函数无法识别sance()函数,尽管它们在同一范围内。:|

class Blog
{
    /**
    * @ORMOneToMany(targetEntity="Comment", mappedBy="blog")
    */
    protected $comments;
    ...
    public function slugify($text)
    {
        return sanitize($text);
    }
    ...
    public function sanitize($title) 
    {
        $title = strip_tags($title);
        ...
    }
    ...
}

我无法加载fixture,我得到一个异常,上面写着"调用..\Entity\Blog.php中的未定义函数..\splicate()…"

为什么会发生这种情况?我甚至尝试过这些:清除缓存,删除数据库,重新创建数据库,重新生成模式,重新创建实体,重新加载fixture。。。但我得到的都是相同的错误:(

有人能告诉我它怎么了吗?

返回语句中缺少$this。当在没有$this的情况下调用sanitize()时,它解析为方法范围,而不是类范围。

class Blog
{
    /**
    * @ORMOneToMany(targetEntity="Comment", mappedBy="blog")
    */
    protected $comments;
    ...
    public function slugify($text)
    {
        return $this->sanitize($text);
    }
    ...
    public function sanitize($title) 
    {
        $title = strip_tags($title);
        ...
    }
    ...
}

最新更新