Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема с работой Класса


Автор: Testing001 21.8.2007, 17:55
Код

<?

class MyClass {
    var $a_property;
    
    function __construct ($init_val) {
    
    $this->a_property=$init_val;
    }
    
    function IncrementProperty() {
    
    $this->a_property++;
    }
    
    function PrintProperty() {

    echo($this->a_property);
    }
    
}

$obj = new MyClass(7);
echo ("Start Point: ");
$obj->PrintProperty();
$obj->IncrementProperty();
echo ("</br>Finish Point: ");    
$obj->PrintProperty();
    
?>


Выдает:

Start Point: 
Finish Point: 1

По идеи, должно было быть:

Start Point: 7
Finish Point: 8

В чем ошибка, подскажите?

Автор: sTa1kEr 21.8.2007, 18:10
high, у вас PHP 4? В 4ом PHP нету магического метода __construct(), по этому вместо него надо использовать тоже имя, что и имя класса
Код

    function MyClass($init_val) {
    
    $this->a_property=$init_val;
    }

Автор: Testing001 21.8.2007, 18:12
Нет, у меня PHP5!!!

Код

<?php
phpinfo();
?>


Далеко, не PHP4, тем более, я недавно все последнее скачал и установил!

У меня стоит PHP 5.2.3

PS
sTa1kEr

Цитата

В 4ом PHP нету магического метода __construct(), по этому вместо него надо использовать тоже имя, что и имя класса


Ради, интереса, значит в PHP4 не был и __destruct() ?

Тогда, как работали с уничтожением объектов в PHP4?

Автор: Testing001 21.8.2007, 18:48
А нет, все получилось у меня:

Start Point: 7
Finish Point: 8

Автор: sTa1kEr 21.8.2007, 18:59
Цитата(high @  21.8.2007,  18:12 Найти цитируемый пост)
Ради, интереса, значит в PHP4 не был и __destruct() ?

Именно. http://www.php.net/manual/ru/language.oop.constructor.php
Цитата

Destructors are functions that are called automatically when an object is destroyed, either with unset()  or by simply going out of scope. There are no destructors in PHP. You may use register_shutdown_function()  instead to simulate most effects of destructors.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)