- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Apple iPhone 16 Pro - rutinvizsga
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fotók, videók mobillal
- Megérkezett végre a várva-várt órafrissítés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Telekom T Phone 3 5G – modern tudakozó
Ú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
- Felforgatná Kína a technológiai világrendet
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- PlayStation 5
- Linux kezdőknek
- sziku69: Fűzzük össze a szavakat :)
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen CPU léghűtést vegyek?
- Nyíregyháza és környéke adok-veszek-beszélgetek
- OLED TV topic
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- További aktív témák...
- Bomba Ár! Lenovo IdeaPad Flex 5 Ryzen 3 5300U I 4GB I 128SSD I 14" FHD Touch I W11 I Cam I Garancia!
- Bomba ár! HP ProBook X360 435 G7 - Ryzen 3/5 I 8GB I 256SSD I 13,3" FHD Touch I W11 I Cam I Gari!
- Bomba ár! Lenovo ThinkPad X13 G1 - AMD Ryzen 5 PRO I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- Bomba Ár! Lenovo ThinkPad E14 G2 AMD - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I W11 I Gari
- Bomba ár! Lenovo ThinkPad T14s G1 - i7-10G I 16GB I 512GB SSD I 14" FHD Touch I Cam I W11 I Gari!
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD!
- Macbook Pro 2019 // i7 // 16/512GB // Számla+Garancia //
- 0% THM 6 havi részlet beszámítás! 5060Ti/5070/5070Ti/5080/5090 videokártyák készletről KAMATMENTESEN
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest