调用非成员函数

这个问题在这里已经有了答案:

  • 参考 - 这个错误在PHP中意味着什么? 30个答案

  • 这意味着$objPage不是一个对象的实例。 我们可以看到你用来初始化变量的代码吗?

    正如您期望的特定对象类型一样,您还可以使用PHP类型提示featureDocs在违反逻辑时获取错误:

    function page_properties(PageAtrributes $objPortal) {    
        ...
        $objPage->set_page_title($myrow['title']);
    }
    

    此函数仅接受PageAtrributes的第一个参数。


    有一个简单的方法来产生这个错误:

        $joe = null;
        $joe->anything();
    

    将呈现错误:

    致命错误:在第23行的/Applications/XAMPP/xamppfiles/htdocs/casMail/dao/server.php中的非对象上调用anything()成员函数anything()

    如果PHP会说,这会好很多,

    致命错误:由Joe调用未定义,因为(a)joe为空或(b)joe未在<##>行中定义anything()

    通常你已经构建你的类,以便$joe没有在构造函数中定义


    $objPage不是实例变量,或者您正在用不是PageAttributes类的实例的某个东西覆盖$objPage

    链接地址: http://www.djcxy.com/p/69389.html

    上一篇: Call to a member function on a non

    下一篇: Override association mapping of a trait property in Doctrine 2.6