За последние 24 часа нас посетили 55458 программистов и 1795 роботов. Сейчас ищут 802 программиста ...

Работа с объектами

Тема в разделе "Прочие вопросы по PHP", создана пользователем ejohn, 3 дек 2009.

  1. ejohn

    ejohn Активный пользователь

    С нами с:
    24 сен 2006
    Сообщения:
    26
    Симпатии:
    0
    Код (Text):
    1.  
    2. class client {
    3.    
    4.     private $name;
    5.     private $serial;
    6.     private $balance;
    7. }
    8.  
    9. class transfer {
    10.     private $from;
    11.     private $to;
    12.     private $sum;
    13. }
    В классе trnsfer свойства $from, $to должны быть типа Client. Как такое можно реализовать?
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Конструктор
     
  3. ejohn

    ejohn Активный пользователь

    С нами с:
    24 сен 2006
    Сообщения:
    26
    Симпатии:
    0
    Я видимо недостаточно разъяснил. Вот у меня следущий код:
    Код (Text):
    1.  
    2. class client {
    3.    
    4.     private $name;
    5.     private $serial;
    6.     private $balance;
    7.        
    8.     function __construct($name, $serial, $balance = 0) {
    9.         $this->name = $name;
    10.         $this->serial = $serial;
    11.         $this->balance = $balance;
    12.     }
    13.             public function load($serial)
    14.     {
    15.         $tmp = new self($n, $s, $b);
    16.         return $tmp;
    17.     }
    18. }
    19. class transfer {
    20.     private $from;
    21.     private $to;
    22.     private $sum;  
    23.     function __construct($from, $to, $sum) {
    24.         $tmpcl = new client();
    25.         $this->from = $tmpcl->load($from);
    26.         $this->to = $tmpcl->load($to);
    27.         $this->to = $sum;
    28.     }
    29. }
    Функция client->Load($serial) По id берет все остальные данные из базы. И возвращает объект Client.
    Но при таком раскладе не получается использовать свойства $from и $to как объекты типа Client.
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Почему? Точнее, как ругается?

    и естественно, $this->to невозможно будет использовать как объект класса Client (если конечно $sum не является объектом класса Client).

    Код (Text):
    1. $this->to = $tmpcl->load($to);
    2. $this->to = $sum;
     
  5. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Не понял. Что значит не получается?
     
  6. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Ух, а у вас в load фабрика реализована?