ДАВИД Малан: Хајде да се побољша ток је хомепаге мало даље од уопштавања те функције, рендерХеадер и рендерФоотер, у, сасвим једноставно, учинити јер на крају крајева, они су били скоро идентични, осим за њихова имена. Како да се то уради? Па на врху ове датотеке само, испод каде захтевамо хелперс.пхп, назовимо нова функција, рендер, чији је први Аргумент, рецимо, биће име од шаблона, датотеку која је значила да се укључи у ту. У међувремену, други аргумент ће остати један асоцијативни низ, у овом мала низ који садржи кључ за наслов чија вредност је овде ЦС50. Хајде да сада погледамо хелперс.пхп. У хелперс.пхп, ми смо сада, од Наравно, има само један функција дефинисана, рендер. рендер сада узима два аргумента, који ћемо позвати шаблон и података, потоњи чији дефаулт вредности је још увек празан низ. Али, у овој верзији рендер, обавештење да сад ја изјављујем локалне променљиве зове пут и доделите му вредност шаблон, који, на пример, може бити цитат, завршен цитат, "заглавље" и додати да тај стринг ПХП.. Другим речима, хајде да претпоставимо за сада да ако је наш шаблон зове заглавље, онда да шаблон ће се реализовати у датотеку под називом, сасвим једноставно, хеадер.пхп. У међувремену, хајде да урадимо брза провера разум. Ако то постоји пут, који можемо проверите путем датотеци филе_екистс, онда хајде да издвојите асоцијативни низ назива података тако да имамо један или више локалних променљивих у обиму, а онда хајде да захтевају тај пут. У међувремену, хелперс.пхп изгледа сасвим једноставно овако, баш као и раније. Али, ако се сада осврнем на индек.пхп, Приметићете да на дну да фајл, можемо на сличан начин може да позове рендер, пролази се као његов једини аргумент подножје. У овом случају, ми не треба да прође у асоцијативни низ, јер подножје шаблон, опозив, је управо то. Али сада имамо вероватно још чистији дизајн, јер ми смо елиминисани су неки од нас другачије сувишан број и консолидују се у само једна функција, рендер.