Итак, я реорганизую свой код, чтобы реализовать больше ООП. Я создал класс для хранения атрибутов страницы.Вызов функции-члена на не-объекте
class PageAtrributes
{
private $db_connection;
private $page_title;
public function __construct($db_connection)
{
$this->db_connection = $db_connection;
$this->page_title = '';
}
public function get_page_title()
{
return $this->page_title;
}
public function set_page_title($page_title)
{
$this->page_title = $page_title;
}
}
Позже я вызываю функцию set_page_title() как так
function page_properties($objPortal) {
$objPage->set_page_title($myrow['title']);
}
Когда я получаю сообщение об ошибке:
Call to a member function set_page_title() on a non-object
Так что мне не хватает?
Это objPage не относятся к экземпляру PageAtrributes объекта (или на самом деле, любой объект). Попробуйте var_dump в предыдущей строке, чтобы узнать, что это на самом деле. – 2008-09-10 16:20:57
во-первых, создайте экземпляр класса, во-вторых, определите его как: $ new_instance = new Class(); затем направьте его на свой метод: $ new_instance-> set_page_title ('MyNewTitle'); – 2013-06-03 14:00:59