HTML

Mi ez a blog?

A Zefext keretrendszer blogja. Mi a Zefext? PHP-ben írt Zend Framework alapú - keretrendszer, ExtJS alapú felhasználói felülettel.

Utolsó kommentek

Rovatok

EasyParameter

2009.10.01. 20:46 zefext

A címben szereplő nevet adtam annak az osztálynak, mely a könyebb fejlesztés miatt született.

Az ExtJS viszonylag komplex objektumokat használ, melyeknek számtalan konfigurációs paraméterezési lehetősége van. Egy általános keretrendszer azonban az alapértelmezett értékekkel (PHP oldalon) tökéletesen működhet, és finomítani a beállításokat ráér azokban az esetekben amikor szükséges. Emiatt készült egy jópár osztály-metódus, amelyik paraméterként csak a legfontosab változókat kéri. De akkor mi van a finombeállításokkal? Az első változatban egy változóval kiegészült az argumentumlista, melyben mint asszociatív tömbben, bármilyen adat átadható a metódusnak. Így a tömbkulcsok - változóval való megfeleltetése a függvényen belül már tetszőlegesen megoldható.
És itt jön az EasyParameter. Nem tömb kerül átadásra, hanem egy objektum. Ennek vannak paraméterei. Az elv ugyanaz, de a fejlesztés könyebb. A metódusban megadható, hogy melyik leszármazottat várja a program, és fejlesztés közben a kódkiegészítés már kijelzi, hogy az objektum milyen paraméterekkel rendelkezhet - szemben az asszociatív tömbbel, amelyik erre nem képes. Plusz még egyszerűbben dokumentálható.

/**
 * Absztrakt alaposztály
 */
abstarct class EasyParameter 
{
}

/**
 * Konkrét kiterjesztése egy paraméterosztálynak 
 * a szükséges változókkal
 */
class EasyParameter_ForSample extends EasyParameter 
{
    public $piri;
    public $para;
}

/**
 * Valamely ExtJS objetkumot felépítő gyorsosztály
 */
class MyClass {

    /**
     * Metódus, mely már a konkrét paraméterosztályt várja
     * 
     * Legyen például a metódus egy grid megjelenítő
     * a két fontos változó pedig a div amelyikbe a grid kerül
     * és az url ahonnan az adatot fogja az ajax bekérni
     *
     * és itt jön a tetszőleges utolsó paraméter
     * melyben megadható bármely egyéb adat:
     * magasság, szélesség, szín, szag, stb.
     */
    public function myMethod ($important_1, 
      $important_2, 
      EasyParameter_ForSampe $parameterObject = null) 
    {
        // itt jön a kód, mely már könnyedén használja 
        // a paraméterosztályt
    }


}

A fentiekhez hasonló elven működik az ExtJS-ben a configObject.
{title: "cím", height:35}. Úgyhogy nem is spanyolviasz.

Szólj hozzá!

Címkék: php extjs

A bejegyzés trackback címe:

http://zefext.blog.hu/api/trackback/id/tr811421557

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben.

Nincsenek hozzászólások.