- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mr. Y: Motoros sztorik #06
- sziku69: Szólánc.
- Őskoczka
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- NASsoljunk: ZyXEL NSA-310 és az FFP
- Magga: PLEX: multimédia az egész lakásban
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Samsung Galaxy SmartTag2-esek a tolvajok ellen!
Új hozzászólás Aktív témák
-
cucka
addikt
Elnézést, ha belepofázok, de jól láthatóan nem értetted meg az OOP lényegét:
- Az osztályod statikus függvényeket tartalmaz, ami azt jelenti, hogy nem csináltál mást, mint egy névteret globális függvényeknek.
- A függvényeid globális változókat változtatnak, ahelyett, hogy rendes (matematikai) függvényként működnének: a függvény kap n darab bemeneti paramétert, ami alaján kiszámolja az eredményt. Ennyit csinál, nem többet. Nem módosítja a paramétereit. Nem nyúl ki a globális névtérbe. Sőt, igyekezni kell mellékhatás-mentesre csinálni (nyilván sokszor elkerülhetetlen).A fentiek miatt elkerülheted a rengeteg global deklarációt.
Továbbá itt van ez a kódrészlet:
$previous = self::find_previous($id, $users_id);
...
foreach($previous as $previous){
global $previous_pic_id;
$previous_pic_id = $previous->id;
}
- Ciklusban deklarálod a globál változót, biztos ami biztos?
- A foreach-ben érdemes kerülni a névütközést.
- A ciklusod annyit csinál, hogy végigmegy a previous tömbön, majd az utolsó elemnek eltárolja az id-ját egy globális változóba. Minek ehhez végigmenni a previous tömbön?
- Ha a previous tömb utolsó elemére van csak szükséged, miért nem azt adja vissza a függvényed?
- Mi van, ha az első képen állsz és nincs previous? Nem kezeled le az esetet, kiírsz egy üres stringet bele a html-be.
- Ugyanez a foreach megismétlődik a $current változónál, ami viszont nyilvánvalóan nem egy tömb, mert egy aktuális elem van. Ott mi szükség rá? (Vagy mégis tömb? A kódból nem derül ki, és ez nagy baj)Még:
- A $_GET['p'] értékét háromszor escape-eled ki, amíg bekerül az adatbázisba. Ha valóban van az értékben egy olyan karakter, amit ki kell escape-elni, akkor a kódod nem fog működni.
- Az empty() nyelvi elemet (figyelem, ez nem függvény) érdemes elkerülni, jól meg tudod sz*patni magad vele.
- Mivel a php-ban nem látod, hogy melyik változó milyen típusú, érdemes beszédesebb neveket adni - például ami tömb, az többes szám, vagy a függvény paramétereknél $id helyett $pic_id - így nem kell nyomozni, ha fél év múlva tovább akarod fejleszteni a kódodat, akkor el is fogod tudni olvasni
Új hozzászólás Aktív témák
Hirdetés
- Mobil flották
- Milyen monitort vegyek?
- OLED TV topic
- Elképesztő mértékben tömörítenék be a nagy nyelvi modelleket
- EA Sports WRC '23
- Fejhallgató erősítő és DAC topik
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- Okosóra és okoskiegészítő topik
- Videós, mozgóképes topik
- Spórolós topik
- További aktív témák...
- DDR5 GAMER PC: Új RYZEN 7 8700F/9700X/9800X3D +RTX 4060/5060/4070/5070 +16-64GB DDR5! GAR/SZÁMLA!
- Gamer PC - R5 5600, RTX 2070 és 16gb RAM
- PC 1060 6GB , i7-7800x , 32GB RAM
- Ryzen 9 7900X /// Bontatlan // Üzletből, számlával és Garanciával!
- Ryzen 9 7900 /// Bontatlan // Üzletből, számlával és Garanciával!
- HATALMAS AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
- AKCIÓ! Dell Latitude 5440 14 FHD üzleti notebook - i5 1335U 8GB RAM 256GB SSD Intel Iris Xe
- 135 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Xiaomi Redmi Note 10 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! RTX Gamer Számítógép PC Játékra! I5 12400F / RTX 3070 / 32GB DDR4 / 1TB SSD
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged