Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: Petr Kučera 2  22. 11. 2013, 12:05:17
		
			
			- 
				Ahoj nevidí prosím někdo chybu? Ve třídě Data nemůžu získat proměnnou $obj z rodičovské třídy Config(); Díky za pomoc
 
 class Data extends Config{
 var_dump($this->obj); //NULL - Proč tam není objekt???
 }
 
 class Config{
 protected $obj;
 protected function __construct(){
 $this->obj = new Common();
 }
 }
 
 class ASD extends Config{
 public function __construct(){
 parent::__construct();
 $this->getData();
 }
 
 public function getData(){
 new Data();
 }
 }
- 
				Nechybí ti dát
 var_dump($this->obj); //NULL - Proč tam není objekt???
 do nějaké metody v té třídě?
- 
				taky myslim ze volat funkci v definici tridy nema vyznam.
			
- 
				Skus toto:
 class Config{
 protectedprivate $obj;
- 
				nebude to mícháním protected a public při dědení konstruktoru? myslím, že od nějaké minulé verze PHP platí, že konstruktory musí mít při dědění stejnou definici (lovím z hlavy, tak mně kdyžtak nekamanujte). 
			
- 
				v triede "Data" nemate ziadny konstruktor - zavola php interpreter v takom pripade autoamticky konstruktor rodica (t.j. konstruktor triedy "Config"), v ktorom naplnate premennu $obj ?
			
- 
				Sorry za diakritiku, pisu z mobilu. pokud data od te tridy dedi, pak ano.
			
- 
				mam takovej pocit, ze v php se musi konstruktor rodice zavolat explicitne...
			
- 
				este otazka:
 ta metoda "var_dump" sa vola priamo v tele triedy "Data" - neznamena to, ze sa vola este pred konstruktorom (a teda aj konstruktorom rodica)?
 (asi davam hlupe otazky, ale php som uz par rokov nevidel)
 
- 
				mam takovej pocit, ze v php se musi konstruktor rodice zavolat explicitne...
 
 
 Pokud máš v zděděné třídě konstruktor, tak ano. Jinak by to byla celkem blbost a nefungovalo by to (i když v případě PHP už mě nepřekvapí snad nic).
- 
				este otazka:
 ta metoda "var_dump" sa vola priamo v tele triedy "Data" - neznamena to, ze sa vola este pred konstruktorom (a teda aj konstruktorom rodica)?
 (asi davam hlupe otazky, ale php som uz par rokov nevidel)
 
 var_dump je funkce primo z php. podle se nema v tomhle pripade kdy zavolat. trida je jen definice. volani tohohle var_dump si lita ve vesmiru a nikdy se nepotka se zadnou metodou te tridy.
- 
				upresneni: ..se nepotka s volanim jakekoliv metody nad jakymkoliv objektem teto tridy.