>> DAVID MALAN: Nézzük javítja a tanfolyam főoldalra egy kicsit tovább
általánosítva azokat a funkciókat, renderHeader és renderFooter, a,
egyszerűen, render mert miután az összes, voltak, közel azonos, kivéve
a nevüket.
Hogyan kell ezt csinálni?
Nos tetején ez a fájl csak, ahol az alábbi kérünk helpers.php, hívjuk a
Új funkció, render, melynek első érv, mondjuk, az a név
A sablon fájl, ami azt jelentette, hogy csatlakoztatva van.
Eközben a második argumentum kell továbbra is asszociatív tömb, ebben a
esetben, ha egy tömb, amely a kulcs címe, amelynek értéke itt CS50.
Nézzük most nézd meg helpers.php.
>> A helpers.php, most, a Persze, hogy csak egy
függvény definiált, render.
teszi tart most már két érvet, amely hívjuk sablont, és az adatok, a
Ez utóbbi amelynek alapértelmezett érték még mindig egy üres tömböt.
De ez a verzió a render, értesítés hogy most kijelentem, egy helyi változót
nevezett út és rendelje hozzá az értékét sablon, amely, például, esetleg
lehet idézet, idézet vége, "header", és hozzáfűzni, hogy a húr. php.
Más szavakkal, tegyük most hogy ha a sablon neve fejléc,
akkor a sablon végre kell hajtani nevű fájlt, egyszerűen,
header.php.
>> Közben tegyük a gyors józanság ellenőrzés.
Ha ezen az úton van, amit lehet ellenőrzése útján nevű fájlt
file_exists, akkor hadd csomagolja ki a asszociatív tömb nevezett adatokat, hogy
van egy vagy több lokális változók köre, majd menjünk
megkövetelik, hogy utat.
Eközben helpers.php néz ki, nagyon egyszerűen tetszik ez, pontosan úgy, ahogy korábban.
>> De ha most nézd vissza index.php, észre, hogy az alján, hogy a
fájl, akkor hasonlóan hívni render, halad, mint a
egyedüli érv lábléc.
Ebben az esetben nem kell átadni a asszociatív tömb, mert a
lábléc sablon, emlékszem, csak ez.
De most már vitathatatlanul még tisztább design, mert mi már
megszűnt néhány egyébként redundáns kód és egységes szerkezetbe foglalni
csak egy funkció teszi.