>> DAVID Malan: Gadewch i ni wella'r cwrs homepage ychydig ymhellach drwy
generalizing swyddogaethau hynny, renderHeader a renderFooter, i mewn,
yn syml, rendr oherwydd wedi'r cyfan, eu bod yn bron union yr un fath ac eithrio
am eu henwau.
Sut i wneud hyn?
Wel ar ben y ffeil yn unig, isod pan mae arnom angen helpers.php, gadewch i ni alw
swyddogaeth newydd, rendro, eu hiaith gyntaf ddadl, gadewch i ni ddweud, fod yn enw
templed, ffeil sydd wedi golygu i gael ei blygio i mewn 'na.
Yn y cyfamser, bydd yr ail ddadl parhau i fod yn amrywiaeth cysylltiadol, yn yr
achos amrywiaeth sy'n cynnwys allweddol ar gyfer teitl sy'n werth yma CS50.
Gadewch i ni yn awr yn edrych ar helpers.php.
>> Yn helpers.php, yr ydym yn awr, o gwrs, dim ond un
swyddogaeth diffiniedig, rendro.
rendr yn cymryd Bellach mae dau dadleuon, a oedd yn byddwn yn galw templed a data,
olaf o'i diofyn gwerth yn dal i fod yn amrywiaeth wag.
Ond yn y fersiwn hon o rendr, rhybudd fy mod bellach yn datgan newidyn lleol
a elwir yn llwybr ac aseinio gwerth templed, sydd, er enghraifft, gallai
fod yn Dyfyniadau, "pennawd" ac atodi i'r llinyn. php.
Mewn geiriau eraill, gadewch i ni gymryd yn ganiataol ar hyn o bryd os gelwir ein templed pennawd,
yna bydd y templed yn cael ei rhoi ar waith mewn ffeil o'r enw, yn syml,
header.php.
>> Yn y cyfamser, gadewch i ni wneud gwiriad sanity gyflym.
Os y llwybr hwnnw yn bodoli, y gallwn gwirio drwy gyfrwng ffeil o'r enw
file_exists, yna gadewch i ni dynnu'r amrywiaeth cysylltiadol a elwir data fel y
mae un neu fwy o newidynnau lleol o ran cwmpas, ac yna gadewch i ni
ei gwneud yn ofynnol y llwybr hwnnw.
Yn y cyfamser, helpers.php yn edrych yn eithaf yn syml fel hyn, yn union fel o'r blaen.
>> Ond os ydym yn awr yn edrych yn ôl ar index.php, sylwi bod ar waelod y
ffeil, gallwn alw yn yr un modd rendr, gan fynd heibio i mewn fel ei
footer ddadl unig.
Yn yr achos hwn, nid oes angen i ni roi mewn amrywiaeth cysylltiadol oherwydd bod y
templed troedyn, galw i gof, yn unig hyn.
Ond yn awr mae gennym dadlau hyd yn oed dylunio glanach oherwydd rydym wedi
dileu rhai o'n arall cod segur a cyfuno yn
un swyddogaeth yn unig, rendro.