繁体   English   中英

调用类中的未定义方法,即使已定义

[英]Call to undefined method in class even when it is defined

我的apache错误日志中出现以下错误消息:

PHP致命错误:在第544行的/var/www/www.website.com/application/libraries/MyWebsite/Model/ContentVersion.php中调用未定义的方法MyWebsite \\ Model \\ ContentMedia :: getImagePath()

ContentVersion.php的第544行上进行了调用:

$cm->getImagePath('img', 'small');

ContentMedia类扩展了另一个名为Model类,该类确实具有该方法:

class ContentMedia extends \MyWebsite\Model{

... Model类:

namespace MyWebsite;

class Model{

    public function getImagePath($field, $size = null){

        ...
    }

我不时在日志文件中显示此错误,因此可能是用户遇到此错误的一个特定实例,但我不知道在哪里。 该方法在整个站点中都可以使用,并且有效。 如果明确定义了方法,如何抛出该错误?

我曾考虑过检查访问日志,以将请求的确切URL与错误的时间戳进行匹配,但是访问日志当然很大,因此,有关如何从大型访问日志中仅输出大部分时间的建议是惊人。

我正在使用教义2和Codeigniter 2。

我的第一个想法是检查脚本中是否确实存在模型实例。 为了测试,您是否尝试过创建另一个函数,而该函数只会回显类似“对象已正确实例化和继承的函数”之类的信息。

这样,我们也许可以缩小问题的范围

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM