Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Odniesienie się do obiektu przez inny w nim powstały
l0ud
post
Post #1





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Witam. Właśnie sobie uświadomiłem że dopiero raczkuję w programowaniu obiektowym, bo nie wiem nawet czy to jest możliwe: mam zamiar odnieść się do $zmienna znajdującej się w $obiekta w innym utworzonym przez niego obiekcie.

  1. <?php
  2. class A {
  3.  
  4. public $zmienna;
  5.  
  6. public function __construct() {
  7. $this->zmienna = asd;
  8. $obiektb = new B;
  9. }
  10.  
  11. }
  12.  
  13. class B {
  14.  
  15. public function __construct() {
  16. //czy da się teraz odnieść do $zmienna w obiekta?
  17. }
  18.  
  19. }
  20.  
  21. $obiekta = new A;
  22. ?>


Czy to jest w ogóle możliwe? (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

Pozdrawiam

Ten post edytował l0ud 29.03.2008, 21:28:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Rozumiem, że masz na myśli coś takiego?

  1. <?php
  2. class A {
  3.  
  4. public $zmienna;
  5.  
  6. public function __construct() {
  7. $this->zmienna = asd;
  8. $obiektb = new B(&$this);
  9. }
  10.  
  11. }
  12.  
  13. class B {
  14.  
  15. public function __construct(&$parent) {
  16. echo $parent->zmienna;
  17. }
  18.  
  19. }
  20.  
  21. $obiekta = new A;
  22. ?>


Zaczynam się zastanawiać, czy jest to dobre rozwiązanie przy większej aplikacji. Przykład powyżej był uproszczony: w rzeczywistości mam obiekt inicjujący, który wczytuje inne, tworzy i dodaje do swoich zmiennych (uciekło mi właściwe słowo). Te wczytane obiekty powinny móc się do siebie odnosić i dotychczas myślałem że będzie to możliwe bez problemów przez obiekt rodzica (inicjujący). Teraz się zastanawiam, czy przekazując za każdym razem jego instancję nie dochodzę do jakiegoś antywzorca?
Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Cytat(l0ud @ 29.03.2008, 21:51:55 ) *
Rozumiem, że masz na myśli coś takiego?

  1. <?php
  2. class A {
  3.  
  4. public $zmienna;
  5.  
  6. public function __construct() {
  7. $this->zmienna = asd;
  8. $obiektb = new B(&$this);
  9. }
  10.  
  11. }
  12.  
  13. class B {
  14.  
  15. public function __construct(&$parent) {
  16. echo $parent->zmienna;
  17. }
  18.  
  19. }
  20.  
  21. $obiekta = new A;
  22. ?>


Zaczynam się zastanawiać, czy jest to dobre rozwiązanie przy większej aplikacji. Przykład powyżej był uproszczony: w rzeczywistości mam obiekt inicjujący, który wczytuje inne, tworzy i dodaje do swoich zmiennych (uciekło mi właściwe słowo). Te wczytane obiekty powinny móc się do siebie odnosić i dotychczas myślałem że będzie to możliwe bez problemów przez obiekt rodzica (inicjujący). Teraz się zastanawiam, czy przekazując za każdym razem jego instancję nie dochodzę do jakiegoś antywzorca?


nie...

Ten post edytował pyro 29.03.2008, 22:09:55
Go to the top of the page
+Quote Post

Posty w temacie
- l0ud   [PHP] Odniesienie się do obiektu przez inny w nim powstały   29.03.2008, 21:27:22
- - Cysiaczek   Nie, ale możesz przekazać referencję obiektu A do ...   29.03.2008, 21:29:01
- - pyro   Cytat(l0ud @ 29.03.2008, 21:27:22 ) W...   29.03.2008, 21:41:40
- - l0ud   Rozumiem, że masz na myśli coś takiego? [PHP] pob...   29.03.2008, 21:51:55
|- - pyro   Cytat(l0ud @ 29.03.2008, 21:51:55 ) R...   29.03.2008, 22:09:33
- - Moli   Możesz dać np. [PHP] pobierz, plaintext <?php$t...   29.03.2008, 22:07:33
- - l0ud   @pyro, nie wiem do czego Twoja odpowiedź się odnos...   29.03.2008, 22:13:53
- - Moli   No to jak dasz [PHP] pobierz, plaintext <?phpc...   29.03.2008, 22:17:58
- - l0ud   @Moli, ale ja chcę się odnieść do konkretnego obie...   29.03.2008, 22:37:49
|- - pyro   Cytat(l0ud @ 29.03.2008, 22:37:49 ) @...   29.03.2008, 23:00:26
- - l0ud   Cytatdziedziczysz tez zmienne i inne dane od rodzi...   29.03.2008, 23:10:12
|- - pyro   Cytat(l0ud @ 30.03.2008, 00:10:12 ) A...   30.03.2008, 11:25:27
- - Kicok   Dlaczego miałoby się nie udać? [PHP] pobierz, plai...   30.03.2008, 11:08:19
- - l0ud   Kicok, dzięki wielkie Twoja odpowiedź na pewno mi ...   30.03.2008, 15:12:14
- - Cysiaczek   Przenoszę na OOP Nie będzie to jakiś antywzorzec,...   30.03.2008, 15:25:17
- - l0ud   Bo za każdym razem przekazujemy wszystko do wszyst...   30.03.2008, 15:53:17
- - Cysiaczek   Pamiętaj, że przechowujesz tylko referencje do obi...   30.03.2008, 15:57:32
- - l0ud   Problemów z kopiami raczej nie będzie, bo klasa je...   30.03.2008, 16:12:48
- - Sedziwoj   Nie wiem dlaczego, ale w trakcie czytania na myśl ...   30.03.2008, 17:06:39


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 16:58