无法从另一个文件调用函数

时间:2014-11-10 13:14:37

标签: php oop

我试图通过实验来学习OOP。首先,我建立一个小日历应用程序。 我有一个crud.php文件,在Crud类中有几个函数。 无论如何,我无法通过此文件调用函数。我在这里弄错了什么?

PS:如果在同一个文件中调用该函数。

crud.php

class Crud {
    public $id;
    private $date_in;
    private $date_out;

    public function setId ($id) {
        $this->id = $id;
    }

    public function setDates ($date_in, $date_out) {
        $this->date_in = $date_in;
        $this->date_out = $date_out;
    }
    public function getId () {
        return $this->id;
    }
    public function getDateIn () {
        return $this->date_in;
    }
    public function getDateOut (){
        return $this->date_out;
    }
    public function add () {
    $datein = $this->getDateIn();
    $dateout = $this->getDateOut();
    include "../libs/db_con.php";
    $q = $pdo->prepare("INSERT INTO dates (date_in, date_out) VALUES (?,?);");
    $q->execute(array($datein,$dateout));

}

    public function delete ($id) {
        include "../libs/db_con.php";
        $q = $pdo->prepare("DELETE FROM dates WHERE id = ?;");
        $q->execute(array($id));
    }

    public function test() {
        var_dump(get_object_vars($this));
    }
}

add.php

include "actions/crud.php";
    $crud = new Crud;
        $crud->setDates("204", "23");
        $crud->add();

2 个答案:

答案 0 :(得分:1)

也许它会帮助将来学习OOP的人。

问题是包含路径被设置为与crud.php相关的位置,而不是调用的文件(add.php是一个文件夹)。

答案 1 :(得分:0)

使用$crud = new Crud();这是正确的方法。

了解更多检查 HERE

您错过了()个圆括号。