Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Наследование PHP (https://javascript.ru/forum/server/19029-nasledovanie-php.html)

romantik2011 23.07.2011 20:40

Наследование PHP
 
Прочитал про деструкторы, возникли пару вопросов.

1)Для того чтоб новосозданный объект удалился с оперативной памяти не достатоно лишь прописать деструктор в классе, ещё отдельно нужно прописать название объекта в функции unset?
2)Если деструктор освобождает память, решил сделать бесконечный цикл, который бы выводил результат вызова автоматически созданного объекта.
Вот написал код.
<?php 
class User{
public  $name;
public $login;
public $password;
   
function __construct($name,$login,$password){
   echo "Имя:  $name <br>";
   echo "Логин: $login ";
   echo "<br> Пароль:  $password <br><br>";
 }
 
 function __destruct(){
 }
  
}

class SuperUser extends User{
public $role = "Ялта<br><br>";
}

$object = new SuperUser("Super Admin","root","pass@word1");
echo $object->role;

for(;;){ $obj1 = new User("Пушкин","Pisatel","111");
unset($obj1);
}


?>


Цикл работает, но ничего не выводит, а я хотел чтоб выводил, удалил созданный объект, снова вывел и так бесконечно.

romantik2011 23.07.2011 22:16

А почему такой код, вызывает ещё в придачу деструктора? Ведь деструктор вызывается только в том случаи когда удалился объект функцией unset() ?
<?php
class A{
public $f = 5;
function __destruct(){
echo " УРА !";
}
}

$obj = new A();
echo $obj->f;
?>

ваый 23.07.2011 22:55

Приятель, ты бы ознакомился с мануалом для начала, потому что это какой-то детский сад, там все написано, верь мне, ответы на все твои вопросы.

Shaci 23.07.2011 23:31

Цитата:

Сообщение от romantik2011 (Сообщение 115040)
А почему такой код, вызывает ещё в придачу деструктора? Ведь деструктор вызывается только в том случаи когда удалился объект функцией unset() ?
<?php
class A{
public $f = 5;
function __destruct(){
echo " УРА !";
}
}

$obj = new A();
echo $obj->f;
?>

ага, а иногда и когда скрипт закончится, такое тоже бывает


Часовой пояс GMT +3, время: 20:42.