Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz cucka #12697 üzenetére

    "Tehát az isset true-val fog visszatérni bármilyen változóra, ami nem létezik"
    Hogy micsoda? :)
    Ha van egy ilyened:
    $valami;
    az isset($valami) FALSE-szal fog visszatérni;
    A $valami = 1; után már TRUE-val.
    Hogy térne vissza true-val? Vagy csak elírtad?

    "Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem."
    Az előbbi azt igazolja, hogy de igen, van köze hozzá (PHP 5.3.8-ban legalábbis biztosan, Te nem tudom, hányas változatról beszélsz, hol volt ez valaha érvényes (4-esnél simán lehet, ezt nem tudom), én az általad említett dologgal nem találkoztam még).
    Ahogy arra is false-t ad vissza, ha a $nincsilyen változód nincs beállítva sehol hogy, és nyomatsz egy olyat, hogy isset($nincsilyen->tokmindegy), ahogy ugyanez igaz a $nincsilyen['tokmindegy'] ellenőrzésére is.
    Ez most akkor pont annak ellenkezője, amit írtál, szóval nem értem az állításodat.

    "(Ennek eldöntésére a get_defined_vars() való)."
    Hmm? :Y Hogy jön ide a get_defined_vars(), amikor csak egyetlen változó meglétét szeretnéd ellenőrizni? Ez a függvény egy komplett tömböt ad vissza az adott scope-ban elérhető lokális/globális/szerver/környezeti változókról, tehát tartalmazni fogja a $GLOBALS tömb dolgait, a $_SERVER dolgait, és így tovább... ezután ezen a tömbön fogsz kiadni egy isset()-et, és akkor ugyanott vagy, vagy ezt most hogy értetted?
    Nem az array_key_exists() vagy property_exists() és társai valamelyikére gondoltál?

    "A gyarkolatban ebből az következik, hogy az empty() teljesen alkalmatlan bármire, visszatérési értékének semmi köze ahhoz, hogy "üres"-e a változó értéke vagy sem. Javaslom, soha, semmilyen körülmények között ne használd az empty()-t, ez egész egyszerűen egy rosszul kitalált nyelvi elem a php-ban."
    Mondjuk akkor még lehet értelme, ha a "", 0, 0.0, "0", NULL, FALSE, array() és értékadás nélkül deklarált $var változók közül egyik sem felel meg neked, és megköveteled, hogy mindegyiktől különbözzön mondjuk adott mező :P Ha például egy adott mezőt kötelező kitölteni, vagy mondjuk 0-nál (0.0-nál) nagyobb szám megadására van szükség, akkor végül is ellátja a feladatát, de ettől függetlenül azzal egyetértek, hogy általános validációra nyilván alkalmatlan.

  • #68216320

    törölt tag

    válasz cucka #12697 üzenetére

    Teljesen érthető, nagyon köszönöm. :K
    A típusegyenlő (===) vizsgálatok is jó ötletnek tűnnek. Használni kezdem őket az új forrásaimban.
    Éppen most dolgozom egy saját project admin felületén. Eddig procedurális módon csináltam mindent, de kezdek áttérni a objektum alapú kódra. Szóval, van tanulni való :)

    Az a helyzet nálam, hogy a PHP nyelv tanulásának kezdetén igen kevés és nem korszerű képzést kaptam. Mint szerintem nagyon sokan, mások forráskódjaiból próbáltam elsajátítani a továbbiakat. Illetve a 24órás sorozat tankönyve volt meg. Úgy tűnik viszont, hogy nem megfelelő forráskódokhoz jutottam hozzá és a hibák amik bennük voltak rögzültek bennem. Hiányzott egy ilyen fórum, ahol kiderülnek az ilyenek. Ugyanis bár próbáltam tesztelni az elkészült forrásokat, de nagyon sok hibás gondolatmenetre, rosszul alkalmazott eszközre nem derül fény ettől. Ezért elnézést is kérek mindenkitől, ha itt a fórumban hibák vannak az általam alkalmazott technikákban, de ha nem osztom meg a gondolataimat bizonyos helyzetekben, akkor ezek nem derülnének ki sohasem. Viszont, a következő hozzászólásaimban óvatosabb leszek már és az én úgy tudom, illetve szerintem kifejezésekkel fogom kezdeni őket, hogy másokat ne tévesszen meg esetleg hibás mivoltukkal, ahogy kezdetben velem tették más oldalak. :)

Új hozzászólás Aktív témák

Hirdetés