Вложенные классы PHP, вызывающие один и тот же класс - PullRequest
0 голосов
/ 30 июля 2011

Возможно ли иметь подкласс с тем же классом

например,

Class user{
    var $name,$age,$gender,$freinds_list;
    function get_name(){
    }

    function get_friends(){
         foreach($users_from_db as $uid=>$data){
         $this->friends_list[] = new user($data);    //The problem is here
    }

    function print_all_friends_name(){
          foreach($this->friends_list as $user_obj){
                  echo $user_obj->get_name;
           }
}

Например, список друзей пользователя, который содержит много пользователей

папка_файлакласс, у которого его потомки будут содержать много файловых папок

Как правильно определить такой класс в структуре класса?

У меня нет проблем с подклассами, если классы разные ... напримерКласс 'автомобиль' с подклассом 'шины', но столкнулся с проблемой, если я добавил тот же класс в этот класс

========================================================================= добавлено

class alias{
       ................
function get_folders($fup=null){
    global $USER,$tt;       

    $fup = $fup? $fup : $this->aid;
    $k = array('fup','type');
    $v = array($fup,1);
    $res = $tt->services['folder_files']->search($k,$v);
    $folder_list = array_keys($res);

    foreach($res as $aid=>$v){
        echo "-ff-";    
        $this->children[$aid]= new alias($aid,$v);  //Problem line
    }       
    return $folder_list;    
}
 }

Это мой настоящий код, у меня есть псевдоним класса внутри псевдонима класса, и я назначаю в массив $ this-> children;

Скажем, у меня есть длина 2 вмой цикл $ res, то, что я ожидал, будет

-ff - ff-

Но он появляется только

-ff-

Однако, еслиЯ закомментирую строку «Проблема», цикл работает как положено, выводит

- ff - ff-

любые мысли

...