Помогите разобраться с ООП

Bad_Ivan

Новичок
Здравствуйте,
решил изучить объектно-ориентированный подход в программировании на php.
На первом же простом примере выдало ошибку:

PHP:
class MyClass
{
    public $prop1 = "Свойство класса ";
    public function __construct()
    {
        echo 'Создан объект класса "', __CLASS__, '"!<br />';
    }
    public function __destruct()
    {
        echo 'Объект класса "', __CLASS__, '" удален.<br />';
    }
    public function getProperty()
    {
        return $this->prop1 . "<br />";
    }
}
// Создаём новый объект
$obj = new MyClass;
// Получаем значение свойства $prop1
echo $obj->getProperty();
// Выводим сообщение о достижении конца файла
echo "Конец файла.<br />";

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in m:\home\localhost\www\oop\index.php on line 11 (где код public $prop1 = "Свойство класса ";)

Попробовал разные варианты, частично заработало только вот с этим:

PHP:
class MyClass
{
    var $prop1 = "Свойство класса ";
    function __construct()
    {
        echo 'Создан объект класса "', __CLASS__, '"!<br />';
    }
    function __destruct()
    {
        echo 'Объект класса "', __CLASS__, '" удален.<br />';
    }
    function getProperty()
    {
        return $this->prop1 . "<br />";
    }
}
// Создаём новый объект
$obj = new MyClass;
// Получаем значение свойства $prop1
echo $obj->getProperty();
// Выводим сообщение о достижении конца файла
echo "Конец файла.<br />";
Но __construct() и __destruct() не работают. Помогите разобраться, что я не так делаю - я начинающий программист, знаний пока маловато. Проверял и на локальном компе и на сервере хостера - результат одинаковый. Версия php на локальном 4.3.6, на хостинге 4.3.9
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Потому что в php4 не было ни __construct, ни __destruct — и ООП не было, а было что-то вроде неймспейсов, почему то называющаяся ООП.
 

Absinthe

жожо
Andkorol они потом передумали и выпустили 2 багфикс-версии. Значит поддерживался.
 

scorpion-ds

Новичок
Bad_Ivan, ты наверно пример взяли из Инета, а ПО с книжки взял, если так, то книжка по PHP 4, срочно выкинь ее, не трать свое время и купи книжку по PHP5

P.S.:
Лучше делай пустые скобки, после объявления класса, так красивей :) , кроме того думаю уже скоро тебе захочется передавать туда переменные ...
PHP:
// Создаём новый объект
$obj = new MyClass();
 
Сверху