Jump to content
  • 0

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


Bad_Ivan
 Share

Question

Здравствуйте,

решил изучить объектно-ориентированный подход в программировании на 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

Edited by Veseloff
Код надо заключать в специальные теги
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Но __construct() и __destruct() не работают. Помогите разобраться, что я не так делаю - я начинающий программист, знаний пока маловато. Проверял и на локальном компе и на сервере хостера - результат одинаковый. Версия php на локальном 4.3.6, на хостинге 4.3.9

Потому что в версиях php ниже пятой функция-конструктор должна быть именована не __construct(), а именем класса (в вашем случае MyClass()), а деструторы, если я не ошибаюсь, не поддерживаются.

Link to comment
Share on other sites

  • 0

Я бы посоветовал взять фреймворк типа Kohana и по ходу дела изучать ООП. Сам так делал.

Почему Kohana? Потому что технология использует строгое ООП, реализованное на PHP5 и легкий фреймворк для начинающих.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy