Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> odwolania do wlasciwosci, $obiekt->tablica->poziom1->poziom2
squid
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


mam sobie jakis hipotetyczny obiekt z pewna wlasciwoscia ktora powinna byc dostepna tylko z wewnatrz klasy:
  1. <?php
  2.  
  3. class klasa 
  4. {
  5. protected $tablica = array ( poziom1 = array ( poziom2 ) );
  6.  
  7.  
  8. }
  9.  
  10. ?>


i chcem sie odwola do kolejny poziomow mniej wiecej tak:
$obiekt->tablica->poziom1->poziom2, oczywiscie zamiast tablica moze byc nazwa jakies metody do wydobywania danych ale rzecz w tym ze po kazdej -> chcialbym przechodzic do kolejnego poziomu tablicy.

Jakies pomysly jak to zrobic?

Ten post edytował squid 12.08.2005, 12:50:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


nie wiem czy dobrze zrozumialem ale jesli chcesz przechodzic po -> to w twoim przypadku wlasnoscia klasy 'klasa' powinna byc tablica obiektow innej klasy lub obiekt danej klasy ktory znow ma wlasnosc ktora jest obiektem itd. Wtedy bedziesz przechodzic po ->
Go to the top of the page
+Quote Post
squid
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


no to jest jakis sposob ale musialbym kazda zmienna przeksztalcic na obiekt ato klopotliwe i kosztowne
Go to the top of the page
+Quote Post
bumba
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.08.2005

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


Zapewne koledze chodzi o przeładowanie operatorów, ale nie wiem czy php cos takiego oferuje. Pozostaje zagnieżdżanie obiektów.
Go to the top of the page
+Quote Post
squid
post
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


przeladowania operatorow ala C++ to w php raczej nie ma, probowalem iteratory tu zastosowac ale pewnie sie da tylko dosyc ciezko, chyba uzyje zapytania tylu xPath i eval();
Go to the top of the page
+Quote Post
bumba
post
Post #6





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.08.2005

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


Ale czy to nie będzie zbędne gmatwanie kodu? Poza tym używanie eval chyba nie jest zbyt eleganckie. Nie prościej zrobic metodę, która zwróci ci to co chcesz uzyskać?
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


w php5 masz cos takiego jak __get(); i __set(); w gecie ustawiasz co ma pobrac jesli odwołuje sie do jakiejstam nieistniejącej zmiennej. w secie co ma zrobic jak zapisujesz do jakiejs nieistniejącej zmiennej.
Go to the top of the page
+Quote Post
Vengeance
post
Post #8





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Ale to pozwoli mu wydobyć tylko jeden argument :/
Jedyne wyjście, zagnieżdzać obiekty albo zrezygnować z "ładnego" zapisu :]
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


zastanawiam sie... zastanawiam sie... przemysl czy nie wymyslasz za bardzo... moze i fajnie wyglada -> ale... po co Ci to... to TYLKO fajnie WYGLADA

Cytat
Ale to pozwoli mu wydobyć tylko jeden argument :/]


No nie do konca... mozna by zrobić małą rekurencje... (mysli)...

5 min pozniej...

a jednak nie można by...
Go to the top of the page
+Quote Post

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: 4.10.2025 - 13:23