Ú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
- Gumi és felni topik
- Autós topik látogatók beszélgetős, offolós topikja
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- gban: Ingyen kellene, de tegnapra
- Linux haladóknak
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Samsung Galaxy S25 - végre van kicsi!
- A fociról könnyedén, egy baráti társaságban
- Debrecen és környéke adok-veszek-beszélgetek
- Székesfehérvár és környéke adok-veszek-beszélgetek
- További aktív témák...
- Gamer laptop
- 120" 4K HDR Házimozi (Optoma UHD 51 + 120 olasz mozivászon)
- HP DL380p Gen8 12LFF - 4x4TB SAS - 2x E5-2650L v2 - 96GB ECC - 2x10Gbit + 2x1Gbit
- Microsoft Surface Book 2, Sérült, 13,5 (3000x2000), i5-8350U, 8GB DDR4, 256GB SSD, 27% ÁFÁS SZÁMLA!
- Asztali PC , R7 8700F , RTX 3070 Ti , 32GB DDR5 , 512GB NVME , 1TB HDD
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9700X 32/64GB RTX 5070 12GB GAMER PC termékbeszámítással
- Xiaomi Redmi Note 14 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bowers/Wilkins Px7 S2 fejhallgatók
- Bomba ár! Dell Latitude E6230 - i5-3GEN I 8GB I 320GB I 12,5" HD I HDMI I Cam I W10 I Garancia!
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest