Hirdetés
- Xiaomi 14 - párátlanul jó lehetne
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Amazfit Active 2 NFC - jó kör
- Telekom mobilszolgáltatások
- Xiaomi Mi 11 Ultra - Circus Maximus
- Apple iPhone 17 - alap
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Megtartotta Európában a 7500 mAh-t az Oppo
- Fotók, videók mobillal
- Google Pixel topik
Új hozzászólás Aktív témák
-
Speeedfire
félisten
válasz
Tele von Zsinór
#6393
üzenetére
Igen azt én is észrevettem, hogy developer verzió, csak a hivatalos oldalon egy szó sem esik erről. Ha valóban készül akkor lehet tudni, hogy mik lesznek az újítások?
Most akkor lehet megint félreértettem valamit. Ha jól értettem akkor a függvény a __get() részben megnézni, hogy van-e az adott néven ilyen függvény, ha van akkor meghívja ha nincs akkor elkészíti ellekező esetben kivételt dob nekem.
class TulajdonsagObjektum {
private $_tulajdonsagok;
public function __construct() {
$this->_tulajdonsagok = array();
$this->_tulajdonsagok['nev'] = null;
$this->_tulajdonsagok['szuletesidatum'] = null;
}
function __get($tulajdonsagnev) {
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];
}
}
function __set($tulajdonsagnev, $ertek) {
if(!array_key_exists($tulajdonsagnev, $this->_tulajdonsagok)) {
throw new Exception('Ervenytelen tulajdonsag-ertek');
}
if(method_exists($this, $tulajdonsagnev . 'Beallitas')) {
return call_user_func(array($this, $tulajdonsagnev . 'Beallitas'), $ertek);
}
else {
$this-> _tulajdonsagok[$tulajdonsagnev] = $ertek;
}
}
function szuletesidatumBeallitas($szd) {
if(strtotime($szd) == false) {
throw new Exception('A szuletesi datumnak egy ervenyes naptari napnak kell lennie!');
}
else {
$this->_tulajdonsagok['szuletesidatum'] = $szd;
}
}
function koszontes() {
echo 'Szia! '.$this->nev.' vagyok! '.$this->szuletesidatum.' -an/en szulettem!<br/>';
}
}
try {
$obj = new TulajdonsagObjektum();
$obj->nev = "Szabi";
$obj->szuletesidatum = '1985-08-27';
$obj->koszontes();
}
catch (Exception $e) {
echo 'Hiba: ', $e->getMessage(), "\n";
}Ugye itt a __get() második if ágában van a vizsgálata ennek. Vagy te arra az egy db szuletesidatumBeallitasra gondoltál? Mert abban az esetben valóban van ilyen de a többi esetben nincs ilyen típusú függvény.
Viszont most megint felmerült egy kérdés a fejemben? Nem lenne célszerűbb már a __get() résznél megvizsgálni a dolgokat? dátum, név stb? Mert így feleslegesen dolgozik utána még a __set() is. Akkor már a kivételkezelés az elején végbe menne.
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3962, 100% Akkumulátor
- Apple iPhone 14 Pro Max / Kártyafüggetlen / 256GB / 12Hó Garancia / 87% akku
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- HP 24" IPS LED FULL HD monitor 24fh 4HZ37AA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


