2014-11-10 4 views
1

Я пытаюсь изучить ООП путем экспериментов. В начале я создаю небольшое приложение для календаря. У меня есть файл 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(); 
+3

Ваш путь включения правильный? вы включили отчет PHP_ERROR? –

+0

Проверьте журналы ошибок. –

+0

Это бросает вам любые ошибки, и если да, то какие? – Peter

ответ

0

использование $crud = new Crud(); Это правильный путь.

Для получения дополнительной Проверка HERE

() Вы пропустили круглые скобки.

+0

Не имеет значения, используете ли вы $ crud = new Crud; или $ crud = new Crud(); Для получения дополнительной информации просмотрите http://stackoverflow.com/questions/1945989/php-class-instantiation-to-use-or-not-to-use- the-pentheses – Peter

1

Возможно, это поможет кому-то в будущем изучать ООП.

Проблема заключалась в том, что включенные пути были установлены в местоположение, соответствующее crud.php, но не для файлов, в которые они были вызваны (add.php, который был одной папкой вверх).

Смежные вопросы