1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> SPEAKER: Să îmbunătățească cursurile pagina de a ne permite să 3 00:00:03,090 --> 00:00:06,610 furniza titluri personalizate pentru fiecare dintre cei pagini, astfel încât fiecare dintre ele este 4 00:00:06,610 --> 00:00:08,780 Nu, pur și simplu, CS50. 5 00:00:08,780 --> 00:00:12,550 Pentru a face acest lucru, să pună în aplicare o serie de funcții, unul numit Render Antet 6 00:00:12,550 --> 00:00:16,410 și unul numit Render subsol, care în loc să solicite Alone va avea 7 00:00:16,410 --> 00:00:19,330 grijă de prestarea de nostru anteturile și subsolurile de pagini. 8 00:00:19,330 --> 00:00:20,280 Să aruncăm o privire. 9 00:00:20,280 --> 00:00:24,490 >> In interiorul index.php acum, observați că Am necesită un nou fișier denumit 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 Este acolo că două funcții mele vor fi definite. 12 00:00:28,910 --> 00:00:32,960 De mai jos că, observa că eu sunt acum de asteptare ca functia Render antet. 13 00:00:32,960 --> 00:00:34,830 Și eu trec într-un argument. 14 00:00:34,830 --> 00:00:39,040 >> Tipul de argument care pare a fi o matrice, care în PHP este notată 15 00:00:39,040 --> 00:00:40,370 cu paranteze pătrate. 16 00:00:40,370 --> 00:00:44,210 În special, această matrice este un tablou asociativ în măsura în care 17 00:00:44,210 --> 00:00:49,620 asociază o cheie, cum ar fi titlu, cu un valoare, cum ar fi CS50, mai degrabă decât să se bazeze 18 00:00:49,620 --> 00:00:51,570 pe indici numerice singur. 19 00:00:51,570 --> 00:00:53,820 Mai jos că acum avem Lista mea neordonate. 20 00:00:53,820 --> 00:00:57,180 Dar de mai jos că, avem un apel la Render Subsol, altă funcție 21 00:00:57,180 --> 00:00:59,980 care este probabil definit în Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Să aruncăm o privire acolo acum. 23 00:01:01,500 --> 00:01:06,760 În Helpers.php, observați că am, într-adevăr, că funcția Render subsol 24 00:01:06,760 --> 00:01:11,100 al căror scop în viață este aparent de să ia în ca argument o matrice 25 00:01:11,100 --> 00:01:12,130 numit de date. 26 00:01:12,130 --> 00:01:15,870 Acum, în cazul în care utilizatorul nu oferă o matrice explicit, faptul că nu există 27 00:01:15,870 --> 00:01:20,610 un semn egal, urmat de pătrat gol paranteze înseamnă că valoarea implicită 28 00:01:20,610 --> 00:01:23,410 de date va fi pur și simplu un array gol. 29 00:01:23,410 --> 00:01:27,670 >> In interiorul Render subsol, observați că sunt apel o functie numita Extract. 30 00:01:27,670 --> 00:01:32,170 Extract are un tablou asociativ, cum ar fi Date în acest caz, precum și pentru orice 31 00:01:32,170 --> 00:01:37,060 cheie în ea, se transformă cheia într-o variabile locale cu acelasi nume. 32 00:01:37,060 --> 00:01:41,640 Deci, dacă că tablou asociativ a avut o cheie numit Foo, extract ar asigura că 33 00:01:41,640 --> 00:01:45,680 acum avem o variabilă locală numită semn dolar Foo, a căror valoare este 34 00:01:45,680 --> 00:01:48,140 fel cum a fost în acea tablou asociativ. 35 00:01:48,140 --> 00:01:52,890 >> În cele din urmă, eu numesc solicite footer.php, care ca o parte, pare 36 00:01:52,890 --> 00:01:54,900 destul de simplu ca asta. 37 00:01:54,900 --> 00:01:59,390 Acum, înapoi în Helpers.php, observați că am de asemenea, au Render Antet, a cărui 38 00:01:59,390 --> 00:02:02,610 argument este același, o matrice numit de date a cărei implicit 39 00:02:02,610 --> 00:02:04,380 Valoarea este un array gol. 40 00:02:04,380 --> 00:02:07,060 Atunci se numește din nou Extract, ca și mai înainte. 41 00:02:07,060 --> 00:02:12,130 Și apoi avem nevoie de header.php, al căror conținut sunt acum acest lucru. 42 00:02:12,130 --> 00:02:16,980 >> Interior din header.php, observați că noi nu mai au un titlu greu codificate. 43 00:02:16,980 --> 00:02:19,720 Și acum avem o etichetă H1, de asemenea. 44 00:02:19,720 --> 00:02:24,030 În special, valoarea titlului va fi, indiferent de valoarea 45 00:02:24,030 --> 00:02:26,750 variabila local numit Titlul este. 46 00:02:26,750 --> 00:02:31,800 După trecerea la o funcție PHP numit HTML caractere speciale, vom 47 00:02:31,800 --> 00:02:36,560 pentru a obține această valoare întoarcere, și apoi introduceți-l în HTML mă scoate 48 00:02:36,560 --> 00:02:39,430 printr-o modalitate de această funcție, numit Echo. 49 00:02:39,430 --> 00:02:43,580 >> Într-adevăr, aceasta este notație prescurtare pentru un apel de funcție care ar putea altfel 50 00:02:43,580 --> 00:02:44,780 arata ca aceasta. 51 00:02:44,780 --> 00:02:49,010 Dar este mult mai curat, pur și simplu, să scrie Suport deschis semn de întrebare egal 52 00:02:49,010 --> 00:02:51,400 semna, fără a menționa măcar PHP. 53 00:02:51,400 --> 00:02:56,260 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 54 00:02:56,260 --> 00:03:00,520 utilizatorul trece la Render funcția mea Antet un tablou asociativ, în interiorul 55 00:03:00,520 --> 00:03:05,310 din care este o cheie numita titlu, care cheie tablou asociativ va deveni un 56 00:03:05,310 --> 00:03:07,870 variabilă locală numită semn dolar titlu. 57 00:03:07,870 --> 00:03:12,130 >> Vom trece apoi că dolar semn Titlu variabilă pentru această funcție, HTML 58 00:03:12,130 --> 00:03:13,240 Caractere speciale. 59 00:03:13,240 --> 00:03:16,500 Și doar în cazul în care nu există nici un potențial caractere periculoase în 60 00:03:16,500 --> 00:03:20,500 acolo, cum ar fi ampersand sau alte astfel de simboluri, HTML caractere speciale se va face 61 00:03:20,500 --> 00:03:23,140 vă că acestea sunt prestate în condiții de siguranță de pe pagina. 62 00:03:23,140 --> 00:03:26,420 Și prin utilizarea deschisă întrebare suport marca semnul egal, eu sunt literalmente 63 00:03:26,420 --> 00:03:30,080 înlocuind în la acea parte a pagina indiferent de valoarea de returnare 64 00:03:30,080 --> 00:03:32,050 de HTML Caractere este. 65 00:03:32,050 --> 00:03:36,450 >> Între timp, în Lectures.php, I avea o nouă valoare pentru titlu. 66 00:03:36,450 --> 00:03:38,330 Nu CS50, dar Lectures. 67 00:03:38,330 --> 00:03:41,590 În Week0.php, am o valoare de Săptămâna 0. 68 00:03:41,590 --> 00:03:45,560 Și în Week1.php, am o valoare de Săptămâna 1. 69 00:03:45,560 --> 00:03:48,790 Deci, la sfârșitul zilei, pagina mea arata destul de cum a făcut-o înainte. 70 00:03:48,790 --> 00:03:52,090 Dar am ajuns acum o mult, mult mai bine de design. 71 00:03:52,090 --> 00:03:54,240