>> SPEAKER: Să îmbunătățească cursurile pagina de a ne permite să
furniza titluri personalizate pentru fiecare dintre cei pagini, astfel încât fiecare dintre ele este
Nu, pur și simplu, CS50.
Pentru a face acest lucru, să pună în aplicare o serie de funcții, unul numit Render Antet
și unul numit Render subsol, care în loc să solicite Alone va avea
grijă de prestarea de nostru anteturile și subsolurile de pagini.
Să aruncăm o privire.
>> In interiorul index.php acum, observați că Am necesită un nou fișier denumit
Helpers.php.
Este acolo că două funcții mele vor fi definite.
De mai jos că, observa că eu sunt acum de asteptare ca functia Render antet.
Și eu trec într-un argument.
>> Tipul de argument care pare a fi o matrice, care în PHP este notată
cu paranteze pătrate.
În special, această matrice este un tablou asociativ în măsura în care
asociază o cheie, cum ar fi titlu, cu un valoare, cum ar fi CS50, mai degrabă decât să se bazeze
pe indici numerice singur.
Mai jos că acum avem Lista mea neordonate.
Dar de mai jos că, avem un apel la Render Subsol, altă funcție
care este probabil definit în Helpers.php.
>> Să aruncăm o privire acolo acum.
În Helpers.php, observați că am, într-adevăr, că funcția Render subsol
al căror scop în viață este aparent de să ia în ca argument o matrice
numit de date.
Acum, în cazul în care utilizatorul nu oferă o matrice explicit, faptul că nu există
un semn egal, urmat de pătrat gol paranteze înseamnă că valoarea implicită
de date va fi pur și simplu un array gol.
>> In interiorul Render subsol, observați că sunt apel o functie numita Extract.
Extract are un tablou asociativ, cum ar fi Date în acest caz, precum și pentru orice
cheie în ea, se transformă cheia într-o variabile locale cu acelasi nume.
Deci, dacă că tablou asociativ a avut o cheie numit Foo, extract ar asigura că
acum avem o variabilă locală numită semn dolar Foo, a căror valoare este
fel cum a fost în acea tablou asociativ.
>> În cele din urmă, eu numesc solicite footer.php, care ca o parte, pare
destul de simplu ca asta.
Acum, înapoi în Helpers.php, observați că am de asemenea, au Render Antet, a cărui
argument este același, o matrice numit de date a cărei implicit
Valoarea este un array gol.
Atunci se numește din nou Extract, ca și mai înainte.
Și apoi avem nevoie de header.php, al căror conținut sunt acum acest lucru.
>> Interior din header.php, observați că noi nu mai au un titlu greu codificate.
Și acum avem o etichetă H1, de asemenea.
În special, valoarea titlului va fi, indiferent de valoarea
variabila local numit Titlul este.
După trecerea la o funcție PHP numit HTML caractere speciale, vom
pentru a obține această valoare întoarcere, și apoi introduceți-l în HTML mă scoate
printr-o modalitate de această funcție, numit Echo.
>> Într-adevăr, aceasta este notație prescurtare pentru un apel de funcție care ar putea altfel
arata ca aceasta.
Dar este mult mai curat, pur și simplu, să scrie Suport deschis semn de întrebare egal
semna, fără a menționa măcar PHP.
Am acum de gând să facă același interiorul că tag-ul H1, astfel încât în ​​cele din urmă, în cazul în care
utilizatorul trece la Render funcția mea Antet un tablou asociativ, în interiorul
din care este o cheie numita titlu, care cheie tablou asociativ va deveni un
variabilă locală numită semn dolar titlu.
>> Vom trece apoi că dolar semn Titlu variabilă pentru această funcție, HTML
Caractere speciale.
Și doar în cazul în care nu există nici un potențial caractere periculoase în
acolo, cum ar fi ampersand sau alte astfel de simboluri, HTML caractere speciale se va face
vă că acestea sunt prestate în condiții de siguranță de pe pagina.
Și prin utilizarea deschisă întrebare suport marca semnul egal, eu sunt literalmente
înlocuind în la acea parte a pagina indiferent de valoarea de returnare
de HTML Caractere este.
>> Între timp, în Lectures.php, I avea o nouă valoare pentru titlu.
Nu CS50, dar Lectures.
În Week0.php, am o valoare de Săptămâna 0.
Și în Week1.php, am o valoare de Săptămâna 1.
Deci, la sfârșitul zilei, pagina mea arata destul de cum a făcut-o înainte.
Dar am ajuns acum o mult, mult mai bine de design.