Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите разобраться о ООП
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Помогите разобраться о ООП

Страниц (1): [1]
 

1. Bad_Ivan - 27 Марта, 2012 - 18:37:21 - перейти к сообщению
Здравствуйте,
решил изучить объектно-ориентированный подход в программировании на php.
На первом же простом примере выдало ошибку:

PHP:
скопировать код в буфер обмена
  1. class MyClass
  2. {
  3.     public $prop1 = "Свойство класса ";
  4.     public function __construct()
  5.     {
  6.         echo 'Создан объект класса "', __CLASS__, '"!<br />';
  7.     }
  8.     public function __destruct()
  9.     {
  10.         echo 'Объект класса "', __CLASS__, '" удален.<br />';
  11.     }
  12.     public function getProperty()
  13.     {
  14.         return $this->prop1 . "<br />";
  15.     }
  16. }
  17. // Создаём новый объект
  18. $obj = new MyClass;
  19. // Получаем значение свойства $prop1
  20. echo $obj->getProperty();
  21. // Выводим сообщение о достижении конца файла
  22. 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:
скопировать код в буфер обмена
  1.  class MyClass
  2. {
  3.     var $prop1 = "Свойство класса ";
  4.     function __construct()
  5.     {
  6.         echo 'Создан объект класса "', __CLASS__, '"!<br />';
  7.     }
  8.     function __destruct()
  9.     {
  10.         echo 'Объект класса "', __CLASS__, '" удален.<br />';
  11.     }
  12.     function getProperty()
  13.     {
  14.         return $this->prop1 . "<br />";
  15.     }
  16. }
  17. // Создаём новый объект
  18. $obj = new MyClass;
  19. // Получаем значение свойства $prop1
  20. echo $obj->getProperty();
  21. // Выводим сообщение о достижении конца файла
  22. echo "Конец файла.<br />";


Но __construct() и __destruct() не работают. Помогите разобраться, что я не так делаю - я начинающий программист, знаний пока маловато. Проверял и на локальном компе и на сервере хостера - результат одинаковый. Версия php на локальном 4.3.6, на хостинге 4.3.9
2. Bio man - 27 Марта, 2012 - 18:41:49 - перейти к сообщению
Модификаторы доступа появились только в ПХП 5. Обновитесь до 5 версии.
(Добавление)
И магические методы появились тоже в ПХП 5 (те которые с __ начинаются)
3. Мелкий - 27 Марта, 2012 - 18:43:36 - перейти к сообщению
Bad_Ivan пишет:
Версия php на локальном 4.3.6, на хостинге 4.3.9

Выкиньте обоих.
Или забудьте про ООП и своё будущее в PHP вообще.

 

Powered by ExBB FM 1.0 RC1