Keresés

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

  • Sk8erPeter

    nagyúr

    válasz Lacces #8047 üzenetére

    "Főleg, hogy jobb is a konkatenálás, azt a szebb példát, annak külön örülök
    Így van egy Java feelingje az egésznek"

    Attól lesz Java feelingje, hogy van benne egy konkatenálás? :D Hmm.

    Ja, assign - hozzárendeli egy $temp, vagyis átmeneti változóhoz a $_POST tömb aktuális értékét. Itt a foreach ciklusban ugyanis bejár egy tömböt, vizsgálja a tömb értékeit. De gondolom ezt nem kell magyaráznom, ha csináltál már ilyet Java-ban.

    "az expected tömbben található értékek alapján, létrehoz változókat"
    Na, akkor elölről. Az első if-nél azt vizsgálja, a $_POST aktuális tömbindexének értéke ($temp-ben van most) nem üres-e és szerepel-e a $required tömbben. Ha a két feltétel teljesül, akkor valamit mondjuk nem töltöttél ki az űrlapon, berakhatjuk a $missing tömbbe, jelezvén, hogy ez a kulcs hiányzik mondjuk, pampogunk a júzernek, hogy töltse már ki legyen szíves az adott mezőt.
    Egyébként ha a $temp nem üres, az adott kulcs az $expected tömbben van, (pl. kitöltötte az elvárt mezőt), akkor hozzuk létre az azonos nevű változót (pl. $name).

    "Ha létrehozza is őket, akkor ezek sima egyszerű változók"
    Azok milyenek? ;] Gondolom azt a szót keresed, hogy "lokális" változó.
    Attól függ. Ha ez az egész pl. egy függvényben szerepel, akkor csupán lokális scope-ja lesz, a függvényen belül. De lehet akár globális is, ha mondjuk ez egy fájlban "kívül" szerepel ez az egész Onnantól a függvények számára a global kulcsszóval ezek a változók elérhetők, amennyiben nem szüntetted meg azóta pl. unsettel.

    Sk8erPeter

  • DeltaPower

    őstag

    válasz Lacces #8047 üzenetére

    Ez a kód arra emlékeztet, amikor register_globals függő oldalaknál kellett minél gyorsabban megoldani, hogy kikapcsolt register_globals mellett is működjenek...

    "Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

  • PazsitZ

    addikt

    válasz Lacces #8047 üzenetére

    Erről eszembe jutott, hogy nekem volt régen ilyen próbálkozásom az sql result gyors ki-extract-olására függvényből global változóként. Persze nem szép. Ma már nem is használom/használnék ilyet, mármint global változót. :B

    (#8038) Lacces: Ennek nincs köze a mutatókhoz. A miértre a magyarázat annyi, hogy ez egy script nyelv.

    $fetchResult = mysql_fetch_assoc($localpSQLResult);
    if ($fetchResult){

    foreach($fetchResult as $var_name => $var_value)
    {
    $var_name = "q_$var_name";
    global $$var_name;
    $localGlobalVarsArr[] = $var_name;
    $$var_name = $var_value;
    }
    return true;
    }

    Így global változóként létrehoztam az sql eredményét egy q_ (query) prefix-es változóként.
    De a neveket le is tároltam, hogy egy fajta garbage collect-ként üríteni tudjam őket.
    Fetch esetén ugye mindig felülíródott a változó tartalma, következő querynél ez a gc opció default lefutott, de szükség esetén letiltható volt.

    (#8041) Sk8erPeter : Alapvetően szerintem nem ördögtől való dolog ez, persze azért nem kell túlzásba vinni.
    Én pl. Factory pattern esetén szoktam használni.Bár itt nem változóként, használod fel a változóban tárolt sztringet, hanem osztálynévként, de a logika hasonló.
    Definiálsz sztring konstans értéket a lehetséges osztályok neveivel, majd azáltal pédányosítod a megfelelő osztályt.

    /**
    *
    * @param const $SQLLayerType SQLLayer constant
    * @param DBObj $db
    */
    public function __construct($SQLLayerType=null, DBObj $db=null) {
    $list = array(SQLLayer::SELECT, SQLLayer::INSERT, SQLLayer::UPDATE, SQLLayer::REPLACE, SQLLayer::DELETE);
    if(is_null($SQLLayerType) || !in_array($SQLLayerType, $list)){
    $this->SQLLayerType = SQLLayer::SELECT;
    }
    else $this->SQLLayerType = $SQLLayerType;
    $Class = "SQL" . ucfirst($this->SQLLayerType);

    $this->SQLObj = new $Class($this->SQLLayerType, $db);
    if(!is_null($db)) $this->SQLObj->table($db->getTableName());
    }

    [ Szerkesztve ]

    - http://pazsitz.hu -

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