Hirdetés
- Megtartotta Európában a 7500 mAh-t az Oppo
- Netfone
- Sok földi jó került a Redmi K90-be is
- Bemutatkozott a Poco X7 és X7 Pro
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Milyen okostelefont vegyek?
- Örömhír: nem spórol Európán a OnePlus
- iPhone topik
- Amazfit Helio Strap – képernyőmentesen
Új hozzászólás Aktív témák
-
fordfairlane
veterán
válasz
H.O.D.
#13126
üzenetére
Értelmes fellelhető forrás hiányában arra gondoltam, ez megtörténik az osztály bármely metódusának/elemének használatakor.
Tudomásom szerint erre nincs beépített automatizmus, osztály használatakor nem történik ilyesfajta inicializálás. A konstruktor példányosításkor hívódik meg.
A PHP osztálybetöltő mechanizmusa viszont testreszabható, így megoldható egyfajta osztálybetöltő és inicializáló kódrész. Mondjuk ha __init-nek hívod, akkor valami ilyesmivel pl:
<?php
spl_autoload_register(function ($class) {
include 'classes/' . $class . '.class.php';
if(is_callable($class, '__init')) {
$class->__init();
}
});
?> -
cucka
addikt
válasz
H.O.D.
#13126
üzenetére
Statikus adattagot így tudsz inicializálni:
class Test{
static $data = 5;
}Nyoévám me, példányosítással, de akkor hogyan?
A statikus adattagok/metódusok az osztályhoz köthetők, nem az objektumpéldányhoz. Tehát pont az a lényeg, hogy függetlenek attól, hogy létrejön-e akár 1 példány abból az osztályból vagy sem.arra gondoltam, ez megtörténik az osztály bármely metódusának/elemének használatakor.
A statikus adattag akkor jön létre, amikor az osztály kódját értelmezi a php.
Ezt próbáld meg megérteni: a statikus adattag az lényegében egy globális változó. A trükk, hogy becsomagolod egy osztályba, az osztály nevén keresztül tudod elérni, így nem szennyezed a globális névteret. Egy osztály, ami csak statikus dolgokat tartalmaz, az lényegében nem egy osztály, hanem egy névtér. Akkor használunk ilyet, ha
- a nyelv nem támogatja a névtereket (pl. régebbi php verziók)
- a nyelvben nincsenek globális változók (pl. java)__autoload()-dal töltöm be, ha abba teszek egy xy::__construct()-ot, az lehet megoldás?
Nem. Az autoload arra van, hogy megtaláld a hivatkozott osztály file-ját és include-old. A konstruktor meg az a speciális metódus, amely egy osztály példányosításánál fut le. A kettőnek semmi köze egymáshoz.
Új hozzászólás Aktív témák
- Filmvilág
- Megtartotta Európában a 7500 mAh-t az Oppo
- Házimozi belépő szinten
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- Microsoft Office és Office 365 topic
- Elektromos autók - motorok
- Vicces képek
- Házimozi haladó szinten
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Bontatlan! Új Lenovo Thinkpad T14 G5 Tartós Üzleti Laptop 14" -45% Ultra 7 165U 16/512 FHD+ Magyar!
- Bomba Ár! Fujitsu LifeBook E751 - i5-2GEN I 4GB I 500GB I DVDRW I 15,6" HD I Cam I W10 I Gari!
- Bomba ár! Dell Latitude E6440 - i5-4GEN I 8GB I 256SSD I 14" HD I HDMI I Cam I W10 I Garancia!
- Bomba ár! Dell Latitude E6540 - i5-4GEN I 8GB I 500GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- Bomba Ár! Lenovo ThinkPad E15 G4 AMD - Ryzen 5 5625U I 8GB I 256SSD I 15,6" FHD I HDMI I W11 I Gari
- LG 65QNED86T3A / QNED / 65" - 164 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- MacBook, Apple M1 / M2 kompatibilis dokkolók, DisplayLink 4K, USB-C, Type-C
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3904, 100% Akksi
- Dell Precision 7560 - Intel Core i9-11950H RTX A4000 32GB 1TB SSD FHD
- HP Thunderbolt-dokkoló, 120W G4 (4J0A2AA)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


