Ú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
- Elektromos autók - motorok
- Győr és környéke adok-veszek-beszélgetek
- Számtech boltosok memoárjai, azaz amikor kiborulunk...
- LEGO klub
- Diablo IV
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- OLED TV topic
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Fotók, videók mobillal
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- RITKASÁG!!! 32GB (2x16) Crucial Ballistix 3200MHz CL16 SODIMM 2031-ig ALZA GAR!
- MSI RTX 3060 Ti 8GB GDDR6 VENTUS 2X Eladó!
- Latitude 5340 27% 13.3" FHD IPS érintő i5-1345U 16GB 512GB NVMe ujjlolv IR kam gar
- Asus ROG STRIX Z890-A GAMING WIFI - GARANCIA: 2028.12.16 - FirstShop
- Gamer PC, RGB ház, i5-8500, 16GB DDR4, RTX-2060 6GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
