php - "call to undefined function"调用类方法时出错

标签 php oop class methods

这是错误Fatal error: Call to undefined function assign(
这是代码,如您所见,我显然已经定义了函数,但为什么它不起作用

class shades {
    function create($name, $shades, $slug, $shortDesc, $longDesc, $position){
        $name = sanitize_paranoid_string($name);
        $slug = slug($name);
        $shortDesc = sanitize_sql_string($shortDesc);
        $longDesc = sanitize_sql_string($longDesc);
        $query = mysql_query("INSERT INTO products (type, name, slug, shortDesc, htmlDesc, position)VALUES('shades','$name','$slug','$shortDesc','$longDesc','$position')")or die(mysql_error());  
        $ID = mysql_insert_id();
        assign($shades, $ID);
        if($query) {return true;}
        else {return false;};
    }
    function delassign($toID){
        mysql_query("DELETE FROM assign WHERE type='shades' AND toID='$toID'")or die(mysql_error());    
    }
    function assign($shades, $toID)
    {
        foreach($shades as $shade)
        {
            $result = mysql_query("INSERT INTO assign(type, typeID, toID)VALUES('shades','$shade','$toID')")or die(mysql_error());
            if($result){echo "Added!";}
            else{echo"Not Added!";}
        };  
    }
}

最佳答案

您没有名为 assign() 的函数,而是具有此名称的方法。 PHP 不是 Java,在 PHP 中你必须明确,如果你想调用一个函数

assign()

或一种方法

$object->assign()

在您的情况下,对函数的调用驻留在另一个方法中。 $this 始终指代存在方法的对象本身。

$this->assign()

关于php - "call to undefined function"调用类方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4809702/

相关文章:

php - 从一个域管理多个网站

php - 我可以在 Laravel 中处理作业超时吗?

php - android与MYSQL数据库连接返回null值

javascript - javascript 类的原型(prototype)语法错误

c++ - 如何在 C++ 中通过引用分配类实例?

php - MySQL PDO 行数

javascript - JavaScript 中的继承导致 Uncaught TypeError

java - 构造函数定义中的 NullPointerException

java - 为什么不应该将所有函数参数都声明为 final?

jQuery every - 将 (this) 与类规范相结合