Hirdetés
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Google Pixel topik
- iPhone topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Mobil flották
- Milyen hagyományos (nem okos-) telefont vegyek?
- Huawei P30 Pro - teletalálat
- Az iPhone 17 gáncsolta el a Galaxy S26 Prót?
- Samsung Galaxy S20 és S20+ duplateszt
Új hozzászólás Aktív témák
-
Speeedfire
félisten
válasz
Sk8erPeter
#6395
üzenetére
Sk8erPeter & Tele von Zsinór: Köszönöm mindkettőtöknek, így utólag belegondolva pedig logikus és érthető is a dolog, nem értem miért nem értettem meg eddig.

Úgy néz ki nálam a hülyülés már korábban kezdődik mint kellene...
-
Tele von Zsinór
őstag
válasz
Sk8erPeter
#6395
üzenetére
Remek leírás, szép

@j0k3r!: a __call megkapja, milyen nevű függvényt akarsz meghívni és milyen paraméterekkel - aztán függvényen belül eldöntöd, mit akarsz ezekkel az adatokkal kezdeni. Valóban el lehet érni, hogy kívülről úgy nézzen ki, mintha túlterhelted volna, de ez nem változtat azon, hogy a php nem képes overloadingra. Default paraméterekkel lehet trükközni, de a gyenge típusosság miatt (egyelőre) nincs jobb.
@Speeedfire: akkor nézzük sorról sorra:
if(!array_key_exists($tulajdonsagnev, $this->_tulajdonsagok)) {
throw new Exception('Ervenytelen tulajdonsag-érték!');
}
if(method_exists($this, $tulajdonsagnev. 'Lekerdezes')) {
return call_user_func(array($this, $tulajdonsagnev . 'Lekerdezes'));
}
else {
return $this->_tulajdonsagok[$tulajdonsagnev];
}Van olyan tulajdonság amit be akar állítani? Ha nincs, akkor bizony hiba, és kész vagyunk.
Van olyan függvény, hogy "tulajdonságnévLekerdezes"? Ha igen, meghívjuk, és visszaadjuk, amit visszaad. Ha pedig nincs, akkor a tömb megfelelő indexű elemét adjuk vissza.A beállítás ezzel analóg logikával működik, csak ott nem visszaad, hanem beállít, és így a call_user_func() függvénnyel paramétert is átad.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter
#6395
üzenetére
Korrigálnám magam annyiból, hogy tulajdonképpen valamilyen szinten mégiscsak "létrehoz" dinamikusan függvényeket a PHP, a lényeg:
http://php.net/manual/en/language.oop5.overloading.php
"Overloading in PHP provides means to dynamically "create" properties and methods. These dynamic entities are processed via magic methods one can establish in a class for various action types.The overloading methods are invoked when interacting with properties or methods that have not been declared or are not visible in the current scope. The rest of this section will use the terms "inaccessible properties" and "inaccessible methods" to refer to this combination of declaration and visibility.
All overloading methods must be defined as public."
Mellesleg most látom, hogy tulajdonképpen Tele von Zsinór már korábban leírta tömörebben a lényeget.

Na sebaj, elmondtam másféleképpen.---
(#6396) j0k3r!: pont a fentebb linkelt oldalon mutatják be a __call használatát!
-
j0k3r!
őstag
válasz
Sk8erPeter
#6395
üzenetére
ha mar belementunk az oop php-be, akkor en is kerdeznek egyet. valahol azt hallottam (olvastam), hogy a magikus __call() al lehet fuggvenyt tulterhelni (amit egyebkent a php-ban azthiszem nem lehet).
a kerdesem az, hogy ezt szoktatok-e hasznalni? egyatalan lehet-e ilyet? (vagy csak en emlekszem rosszul)
Új hozzászólás Aktív témák
- Formula-1
- sziku69: Fűzzük össze a szavakat :)
- Okosóra és okoskiegészítő topik
- Elite: Dangerous
- Milyen okostelefont vegyek? OFF topik
- Milyen videókártyát?
- Sony MILC fényképezőgépcsalád
- Luck Dragon: Asszociációs játék. :)
- Előzetest kapott a Fallout TV sorozat 2. szezonja
- Fejhallgatós találkozó
- További aktív témák...
- GYÖNYÖRŰ iPhone 14 128GB Red -1 ÉV GARANCIA -Kártyafüggetlen, MS3678, 100% Akkumulátor
- AKCIÓ!!! RITKASÁG! Microsoft Surface Pro 11 Qualcomm Snapdragon X Elite 16GB 1000GB OLED 120Hz Gar!
- Lenovo IdeaPad Slim 3 - 15.6" Full HD - Ryzen 5-7520U - 8GB - 512GB - Win11 PRO - MAGYAR - Garancia
- HIBÁTLAN iPhone 14 Pro Max 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3910, 100% Akksi
- BESZÁMÍTÁS! AMD Ryzen 7 5800X3D 8 mag 16 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest






