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.