- Samsung Galaxy A56 - megbízható középszerűség
- Kiszivárgott a Pixel 10a specifikációja
- Jolla és SailfishOS tapasztalatcsere
- Samsung Galaxy S25 - végre van kicsi!
- A készlethiány jelezheti, jön az iPhone 16e és iPad Air utódja
- Újra elérhető az Android 17 Beta
- Apple iPhone 14 Pro Max - sziget fesztivál
- Privát Samsung funkciót tehet az Apple publikussá
- OnePlus 15 - van plusz energia
- Android szakmai topik
Új hozzászólás Aktív témák
-
mallee
tag
válasz
DNReNTi
#15412
üzenetére
Gondolatébresztők:
Database_Connection
private static $DB_Host = ........: Ennek a helye egy config fájlban lenne és valamilyen okosság mentén kéne beadni az osztályodnak.
error_reporting(0);: Miért kezel az adatbázis osztályod error reportolást? Mi köze van a kettőnek egymáshoz? (azon túl, hogy az adatbázis-kapcsolat felépítése esetén is jöhet hiba). Ennek inkább egy inicializáló, környezetet beállító, stb php-ben kellene lennie
echo 'Database connection failed. Code : ' . $DB_Connect->....; Ha csak kiírsz egy üzenetet a képernyőre, attól az alkalmazásod még fut tovább, noha ő arra számított, hogy lesz adatbázis-hozzáférése. Ehelyett használj exception-t
Mi volt ezzel az osztállyal a célod? Hány helyen és hol hívod meg?
Database
Hát ez így nagyon nem jó. Több kisebb osztályba kéne szétvágni az executeSQL-t az SQL parancs típusok alapján, pl Database_Select_SQL valósítaná meg a selectes logikákat, Database_Insert_SQL az inserteset, stb. Ezzel elkerülhetnéd azt a csúnya és nehezen értelmezhető switch-case szerkezetet. Egyébként bár látom, hogy mi akar az osztály célja lenni, mégis nagyon rosszul olvasható a kód. A sok egymásba ágyazott if-else throw exception megoldás helyett inkább azt kéne vizsgálnod a feltételben, hogy sikertelen volt-e a végrehajtás: ha így van, akkor exception, egyébként fusson tovább a kód, pl:
$stmt = $this->_DB_Connect->prepare($SQL_command);
if ($stmt === false) { throw new Exception("blablabla"); }
$parameter_type_list = '';
foreach($SQL_parameters as $parameter) {
és nincs utána else!Ez sem tökéletes megoldás, de átláthatóbb a kevesebb egymásba ágyazott szerkezet miatt.
Új hozzászólás Aktív témák
- Mibe tegyem a megtakarításaimat?
- Gyúrósok ide!
- Diablo II: Classic és Resurrected
- AMD Navi Radeon™ RX 9xxx sorozat
- Több ezer műholddal bővülhet az Amazon flottája
- Projektor topic
- Samsung Galaxy A56 - megbízható középszerűség
- PlayStation 5
- Kiszivárgott a Pixel 10a specifikációja
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Samsung Galaxy Tab S10 Ultra 5G 12/256GB 14,6" // ÚJSZERŰ // 100%-os AKKU
- Razer Blade 14 Mercury 3070Ti-Ryzen 9-6900HX-14"-1440p-165Hz-QHD-16GB
- Gamer PC-Számítógép! Csere-Beszámítás! Intel Ultra 7 265KF / RTX 5070 / 32GB DDR5 / 1TB Nvme SSD
- Apple iPhone 13 /128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 100% Után gyártott Kijelző
- Eladó Nintendo Wii
- Dell Precision 7750,17.3" FHD,i7-10875H,32GB DDR4,256GB SSD,RTX 3000 6GB VGA,WIN11
- Dobozos ASUS TUF 17 Ryzen 7 7735HS 16 GB DDR5 512 GB SSD RTX 4060 (8 GB) Magyar bill
- Apple iPhone 16e 128 GB Black Garancia Beszámítás Házhozszállítás
- 210 - Lenovo IdeaPad 5 Pro (16ARH7) - AMD Ryzen 7 6800HS, RTX 3050Ti
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C Dock Gen2 (akár 3x4K felbontás)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


