• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP - Jak odwołać się do obiektu nadrzędnego?

Object Storage Arubacloud
0 głosów
605 wizyt
pytanie zadane 17 lutego 2018 w PHP przez Przemysław Obywatel (1,510 p.)

Cześć.

Mam pytanie.
Mam w swoim kodzie mniej więcej taką konstrukcję:
 

class A {
		public $x;
		public $b;
		
		public function __construct()
		{
			$x = 5;
			$b = new C();
		}
	}
	
	class B {
		public $x;
		
		public function __construct()
		{
			$x = 10;
		}
	}
	
	class C extends B {
		public $y;
		
		public function __construct()
		{
			echo get_class(parent::this);
		}
	}

Jak widać jednym z pól klasy A jest obiekt klasy C.
Jak w tym obiekcie klasy C odwołać się do obiektu klasy A, do którego należy?
parent:: odwołuje się w tym wypadku do klasy B (extends).

Załóżmy, że mam klasę samochód i jej elementem jest obiekt typu silnik. Jak w metodzie tego silnika odwołać się do obiektu samochód, w którym jest ten silnik?

1 odpowiedź

+2 głosów
odpowiedź 17 lutego 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 17 lutego 2018 przez Przemysław
 
Najlepsza
Nie da się.

Masz normalny dostęp do właściwości i metod klasy po której dziedziczysz (jeśli te mają odpowiedni modyfikator widoczności). A do obiektu z którego został stworzony dany obiekt (coś takiego chyba chcesz w tym przypadku uzyskać) dostać się nie da. Jeśli bardzo potrzebujesz, możesz go po prostu przekazać przez argument podczas tworzenia obiektu klasy C i zapisać we właściwości.
komentarz 17 lutego 2018 przez Comandeer Guru (600,810 p.)

Znając PHP bez JS to raczej słabe szanse na zbudowanie jakiejś konkretnej witryny. 

 A co jeśli w PHP stoi wyłącznie rozbudowane REST API w architekturze mikroserwisowej?

Sprowokowanie dyskusji o tym co jest lepsze klasy w PHP czy prototypy w JS 

To bardziej pytanie o to, co jest lepsze: "klasyczne" (klasowe) OOP na wzór Javy czy prototypowe na wzór Selfa. Odpowiedź brzmi: to zależy – jak zresztą zawsze.

komentarz 17 lutego 2018 przez Artek Stary wyjadacz (11,800 p.)

Byłoby, chętnie bym to zrobił, ale to brakuje mi czasu, to chęci.

No cóż, szkoda trochę. Ja uważam, że fajnie byłoby pochwalić się dobrą znajomością dwóch(albo i więcej) języków programowania. 

A co jeśli PHP i JS razem wyjdą z życia za jakiś czas? Dalej nie będę miał w czym programować 

Tak też może być. Jednak znając 2 języki szanse na przetrwanie w branży zawsze są większe niż gdy znamy 1. 

"Konkretnej witryny" nie tworzy się przeważnie samemu, jest zespół w którym każda osoba specjalizuje się w czymś innym. Nie da się być specem od wszystkiego.

A co z tzw. full-stack developerami? 

 

Commander

 

 A co jeśli w PHP stoi wyłącznie rozbudowane REST API w architekturze mikroserwisowej?

 Przyznam szczerze, że nie wiem o czym piszesz, jednakże nie napisałem, że to jest niemożliwe. Napisałem, "raczej są małe szanse" :p

To bardziej pytanie o to, co jest lepsze: "klasyczne" (klasowe) OOP na wzór Javy czy prototypowe na wzór Selfa. Odpowiedź brzmi: to zależy – jak zresztą zawsze.

Podejrzewałem, że padnie taka odpowiedź :p 

komentarz 17 lutego 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)

No cóż, szkoda trochę. Ja uważam, że fajnie byłoby pochwalić się dobrą znajomością dwóch(albo i więcej) języków programowania. 

Jako taką znajomością kilku czemu nie. Ale jak ktoś by mi się zaczął chwalić, że on zna świetnie ten, ten i jeszcze ten język, no i jeszcze wspaniale pisze w tym i tamtym to nabrałbym podejrzeń, bo jak ktoś się tyka wszystkiego po kolei to też coś znaczy.

Tak też może być. Jednak znając 2 języki szanse na przetrwanie w branży zawsze są większe niż gdy znamy 1. 

Teoretycznie tak, ale jaka jest szansa na to, że PHP upadnie w jednej chwili tak, że nie zdążę tego zauważyć? Bardzo niewielka, gdyby faktycznie zaczęło źle się dziać to myślę, że nie będę miał problemu, aby zacząć uczyć się czegoś więcej. A może wezmę się za coś konkretniej sam z siebie tak dla odmiany, kto wie. Chociaż prawdę mówiąc i tak podejrzewam że nie zdążę dożyć czasów w których PHP wyjdzie z życia.

A co z tzw. full-stack developerami? 

Pewnie sobie istnieją, żyją i mają nawet nieźle. A co ma być? Ja akurat jestem PHP developerem i dobrze mi z tym, na full stacka na ten moment się nie wybieram :)

komentarz 17 lutego 2018 przez Artek Stary wyjadacz (11,800 p.)

Jako taką znajomością kilku czemu nie. Ale jak ktoś by mi się zaczął chwalić, że on zna świetnie ten, ten i jeszcze ten język, no i jeszcze wspaniale pisze w tym i tamtym to nabrałbym podejrzeń, bo jak ktoś się tyka wszystkiego po kolei to też coś znaczy.

Myślisz, że gdyby ktoś poświęcił odpowiednio dużo czasu na naukę załóżmy 3 języków programowania to by tego nie ogarnął? Że niby nie nadążyłby za zmianami? 

Teoretycznie tak, ale jaka jest szansa na to, że PHP upadnie w jednej chwili tak, że nie zdążę tego zauważyć?

To tak na dobrą sprawę ciekawy temat na odrębną dyskusję. Weź pod uwagę fakt, że nawet ogólnie rzecz biorąc nasza cywilizacja rozwija się coraz szybciej. Wszystko wskazuje na to, że tempo rozwoju wzrasta wraz z rozwojem. W związku z tym nie byłbym aż taki pewny tego o czym napisałeś. 

Pewnie sobie istnieją, żyją i mają nawet nieźle. A co ma być? Ja akurat jestem PHP developerem i dobrze mi z tym, na full stacka na ten moment się nie wybieram :)

 

No to z tego, że jedna osoba może ogarnąć zarówno front-end jak i back-end 

komentarz 17 lutego 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)

Myślisz, że gdyby ktoś poświęcił odpowiednio dużo czasu na naukę załóżmy 3 języków programowania to by tego nie ogarnął? Że niby nie nadążyłby za zmianami? 

Tak, myślę że by nie nadążył. A jakby nawet nadążył za samymi zmianami, to jeszcze jakoś najpierw trzeba wejść na ten wysoki poziom i to nie dzieje się na pstryknięcie palcem. Kiedy się tego wszystkiego nauczyć to ja nie wiem. Nie mówię jednak, że to niemożliwe, bo pewnie się da i jakieś jednostki sobie poradzą, ale nie wydaje się to proste. Podkreślam ciągle, że mówię o poziomie naprawdę eksperckim, nie o znajomości języka tak sobie, żeby tylko było i kod jakoś działał.

To tak na dobrą sprawę ciekawy temat na odrębną dyskusję. Weź pod uwagę fakt, że nawet ogólnie rzecz biorąc nasza cywilizacja rozwija się coraz szybciej. Wszystko wskazuje na to, że tempo rozwoju wzrasta wraz z rozwojem. W związku z tym nie byłbym aż taki pewny tego o czym napisałeś. 

Zabrzmię teraz jak jakiś artykuł z portalu newsowego ale trudno: może obudzimy się za kilka lat i wcale nie będzie programistów tylko roboty nas zastąpią? ;) Kto to wie. Jakbym tak się zastanawiał to bym nie mógł robić nic, bo może to zostanie wyparte kiedyś tam.

No to z tego, że jedna osoba może ogarnąć zarówno front-end jak i back-end 

Ale po co? Znam PHP chyba całkiem w porządku, ekspertem się nie czuję i na ten moment chciałbym dalej się w nim rozwijać. Jest mi z tym bardzo dobrze, nie potrzebuję dokładać sobie frontu. JSa uczę się że tak to nazwę hobbystycznie, czasem sobie coś naskrobać.

Podobne pytania

0 głosów
2 odpowiedzi 231 wizyt
pytanie zadane 15 kwietnia 2020 w Python przez manjaro Nałogowiec (37,390 p.)
0 głosów
1 odpowiedź 462 wizyt
pytanie zadane 4 kwietnia 2020 w Python przez manjaro Nałogowiec (37,390 p.)
+1 głos
1 odpowiedź 124 wizyt
pytanie zadane 16 listopada 2016 w JavaScript przez hunter Początkujący (290 p.)

92,555 zapytań

141,402 odpowiedzi

319,544 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...