Hirdetés
- Megtartotta Európában a 7500 mAh-t az Oppo
- Xiaomi 15T Pro - a téma nincs lezárva
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Örömhír: nem spórol Európán a OnePlus
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Azonnali mobilos kérdések órája
- Sagem MyX-8
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Megvan, melyik Redmi turbóz 9000 mAh-ra
- Igazi csúcskészülék lett a Poco F7 Ultra
Ú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
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen TV-t vegyek?
- Amazon
- Milyen légkondit a lakásba?
- Futás, futópályák
- Call of Duty: Black Ops 7
- Vallás
- Luck Dragon: Asszociációs játék. :)
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- Minőségi ugrást hozhat a One új médiaboxa?
- További aktív témák...
- Z790 Strix-A, 14700K, 2x16GB 7200 mhz, Tuf 4080, Corsair H1000i
- -ÚJ,2 ÉV GAR- GAMER PC: RYZEN 7 5700/5800X +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Üzletből, garanciával, DeLL Inspiron 16 5630 -i5-1340P-16 szál/16RAM/512SSD/16,1"FULLHD IPS
- -ÚJ,2 ÉV GAR- GAMER PC: i5-14400F (10mag/16szál) +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Thrustmaster T-GT II bázis - Thrustmaster Sparco P310 - Thrustmaster T3PM pedál - Playseat Evolution
- Lenovo ThinkPad T14S Gen1 Ryzen5 4650U 16GB
- Apple iPhone XR / 128GB / Kártyafüggetlen / 12Hó Garancia / 95% Akku
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3310, 100% Akksi
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black - 1 ÉV GARANCIA, Kártyafüggetlen,MS3489, 100% Akksi
- Xiaomi Redmi 14C 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


