Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak stworzyć jeden obiekt "kontenera" dla wielu obiektów
virusek856
post 25.05.2006, 14:49:52
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 13.01.2006

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


problem wygląda tak:

  1. <?php
  2. class test1
  3. {
  4.  function f()
  5. {
  6.  //instrukcje
  7. }
  8. }
  9.  
  10.  
  11. class test
  12. {
  13. var $zmienna = true;
  14. var $mv = true;
  15. function n()
  16.  {
  17. $this->mv=new test1()
  18. }
  19. }
  20. $test=new test();
  21. ?>


Chciałbym teraz aby obiekt $this->mv klasy test1 mógł odczytać parametr $zmienna klasy test
Rozwiązanie na zasadzie global nie urządza mnie.
Go to the top of the page
+Quote Post
dr_bonzo
post 25.05.2006, 14:57:47
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


To jest php4 :/
w test1
  1. <?php
  2. test::$zmienna
  3. ?>

i juz -- to jest zmienna klasy.

Czy chodzilo ci o zmienna OBIEKTU?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
mike
post 25.05.2006, 15:07:24
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


php Pro? Jasssne.

Przenoszę na php.
Go to the top of the page
+Quote Post
Cysiaczek
post 25.05.2006, 19:07:42
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Lepiej to zrobi w PHP5, ale i w 4 się da.

Można tak (to jest dla php5)
  1. <?php
  2. class test1
  3. {
  4. public $referencjaObiektuTest;
  5.  
  6. function __construct($obiekt){
  7. $this->referencjaObiektuTest=$obiekt;
  8. }
  9.  
  10.  function f()
  11. {
  12.  //instrukcje
  13. }
  14. }
  15.  
  16. //w klasie test użyj
  17. $this->mv=new test1($this);
  18. //ewentualnie przekaż tylko referencję samej zmiennej.
  19. ?>

i teraz masz dostęp poprzez:
  1. <?php
  2. $this->mv->referencjaObiektuTest;
  3. ?>


Jest to jednak karkołomne i mało sensowne. Wszystko zależy od potrzeb.
Aha. w php4 użyj '&' [ref]


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:18