Автор Тема: Посоветуйте, как правильно сделать (ООП)  (Прочитано 11834 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Посоветуйте, как правильно сделать (ООП)
« Ответ #15 : 09 Августа 2005, 16:32:05 »
Алексей
1. а ты хочешь работать с ссылкой или копией ?
2. Может правильнее будет спросить как научиться определять, когда работаешь с ссылкой а когда с копией ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Посоветуйте, как правильно сделать (ООП)
« Ответ #16 : 09 Августа 2005, 16:43:02 »
Макс
мне нужно просто работать с методом класса DB в классе OUTPUT.
для этого, мы передавали в OUTPUT ссылку(&) на DB, т.к. явно передавать переменную объекта в 4 версии нельзя было - передавалась лишь копия.
А с 5 версией вроде бы можно ссылку не ставить - будет сразу передаваться тот же объект. Это описано в одном из номеров PHPinside, о новшевствах 5 версии.

Поэтому я и спрашиваю.
1. Да мне в принципе всё равно в данном случае. Хотя нет.. наверно имено с ссылкой.
2. В 5 версии ты всегда будешь работать со ссылкой. Или я не прав?


Т.е. было у нас раньше:
class OUTPUT {

    var 
$dbh;

    function 
OUTPIT(&$dbh) {
       
$this->dbh = &$dbh;
    }
}
$dbh = new DB;
$out = new OUTPUT($dbh); 


теперь, с выходом пятерки. насколько я понимаю, это можно переписать так:
(эффект будет один и тот же)


class OUTPUT {

    private 
$dbh;

    function 
__construct($dbh) {
       
$this->dbh $dbh;
    }
}
$dbh = new DB;
$out = new OUTPUT($dbh); 

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Посоветуйте, как правильно сделать (ООП)
« Ответ #17 : 09 Августа 2005, 18:00:21 »
По-моему ты совсем не понимаешь разницы между ссылками и копиями
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Посоветуйте, как правильно сделать (ООП)
« Ответ #18 : 09 Августа 2005, 18:01:35 »
Цитировать
Алексей:
2. В 5 версии ты всегда будешь работать со ссылкой. Или я не прав?
неправ. В пятерке можно работать с копией, но для этого надо делать определенные действия
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Посоветуйте, как правильно сделать (ООП)
« Ответ #19 : 09 Августа 2005, 18:06:57 »
Макс
ну как? ссылка - работаем с тем же объектом.
копия - это копия.

Цитировать
В пятерке можно работать с копией, но для этого надо делать определенные действия
clone??

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Посоветуйте, как правильно сделать (ООП)
« Ответ #20 : 09 Августа 2005, 21:09:01 »
да, все верно.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28