>> DAVID Malan: Hebu kuboresha kozi Mzee kidogo zaidi kwa
generalizing kazi hizo, renderHeader na renderFooter, katika,
kabisa tu, atatoa kwa sababu baada ya yote, wao walikuwa karibu kufanana isipokuwa
kwa majina yao.
Jinsi ya kufanya hivyo?
Vizuri atop faili hili tu, chini ambapo tunahitaji helpers.php, hebu simu
kazi mpya, atatoa, ambao kwanza hoja, hebu kusema kuwa jina lake,
ya template, file hiyo maana kwa kuwa plugged huko.
Wakati huo huo, hoja ya pili atakuwa kubaki safu associative, katika hii
Uchunguzi safu zenye muhimu kwa ajili ya jina lake thamani ni hapa CS50.
Hebu sasa tuangalie helpers.php.
>> Katika helpers.php, sisi sasa, ya Bila shaka, na moja tu
kazi inavyoelezwa, atatoa.
kutoa inachukua sasa hoja mbili, ambayo Tutamwita template na data,
mwisho ambaye default thamani ni bado safu tupu.
Lakini katika hili toleo la kutoa notisi kwamba Mimi sasa kutangaza variable ndani
aitwaye njia na hawawajui thamani ya template, ambayo, kwa mfano, huenda
kuwa quote, unquote, "header" na append kwa kuwa kamba. php.
Kwa maneno mengine, hebu kudhani kwa sasa kwamba kama template yetu inaitwa header,
basi template utatekelezwa katika faili iitwayo, rahisi kabisa,
header.php.
>> Wakati huo huo, hebu kufanya haraka sanity kuangalia.
Kama njia hiyo ipo, ambayo tunaweza kuangalia kwa njia ya faili inayoitwa
file_exists, basi hebu kutafuta associative safu kuitwa data ili
sisi na moja au zaidi vigezo ndani katika upeo, na kisha hebu
zinahitaji njia hiyo.
Wakati huo huo, helpers.php inaonekana kabisa tu kama hii, hasa kama kabla ya.
>> Lakini kama sisi sasa kuangalia nyuma katika index.php, taarifa kwamba chini ya kwamba
file, tunaweza vile vile kuwaita atatoa, kupita katika kama yake
pekee hoja footer.
Katika kesi hiyo, hatuna haja ya kupita katika safu associative kwa sababu
footer template, kukumbuka, ni tu hii.
Lakini sasa tuna arguably hata safi kubuni kwa sababu tumekuwa
kuondolewa baadhi ya vinginevyo wetu redundant kanuni na ziko kwenye
kazi moja tu, atatoa.