1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> COLUNA: Vamos melhorar os cursos página inicial, permitindo-nos a 3 00:00:03,090 --> 00:00:06,610 fornecer títulos customizados para cada um desses páginas, de modo que cada um deles está 4 00:00:06,610 --> 00:00:08,780 não, simplesmente, CS50. 5 00:00:08,780 --> 00:00:12,550 Para fazer isso, vamos implementar um par de funções, uma chamada de renderização Header 6 00:00:12,550 --> 00:00:16,410 e um chamado de renderização rodapé, que em vez de Exigir Sozinho vai demorar 7 00:00:16,410 --> 00:00:19,330 cuidado com a prestação da nossa cabeçalhos e rodapés da página. 8 00:00:19,330 --> 00:00:20,280 Vamos dar uma olhada. 9 00:00:20,280 --> 00:00:24,490 >> Dentro de index.php agora, observe que Eu estou exigindo um novo arquivo chamado 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 É aí que as minhas duas funções será definido. 12 00:00:28,910 --> 00:00:32,960 Abaixo disso, observe que agora eu estou chamando que a função de renderização Header. 13 00:00:32,960 --> 00:00:34,830 E eu estou passando um argumento. 14 00:00:34,830 --> 00:00:39,040 >> O tipo de argumento que parece ser uma matriz, que em PHP é denotada 15 00:00:39,040 --> 00:00:40,370 com colchetes. 16 00:00:40,370 --> 00:00:44,210 Em particular, essa matriz é um matriz associativa na medida em que 17 00:00:44,210 --> 00:00:49,620 associa uma chave, como o título, com um valor, como CS50, em vez de confiar 18 00:00:49,620 --> 00:00:51,570 em índices numéricos sozinho. 19 00:00:51,570 --> 00:00:53,820 Abaixo disso, agora temos minha lista não ordenada. 20 00:00:53,820 --> 00:00:57,180 Mas abaixo disso, nós temos uma chamada para renderização Rodapé, a outra função 21 00:00:57,180 --> 00:00:59,980 que é presumivelmente definido em Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Vamos dar uma olhada lá agora. 23 00:01:01,500 --> 00:01:06,760 Em Helpers.php, observe que eu tenho, de fato, que a função de renderização Rodapé 24 00:01:06,760 --> 00:01:11,100 cujo objetivo na vida é, aparentemente, a tomar como argumento uma matriz 25 00:01:11,100 --> 00:01:12,130 chamada de dados. 26 00:01:12,130 --> 00:01:15,870 Agora, se o usuário não fornece uma disposição explícita, o fato de que há 27 00:01:15,870 --> 00:01:20,610 um sinal de igual seguido pelo quadrado vazio colchetes significa que o valor padrão 28 00:01:20,610 --> 00:01:23,410 de dados será simplesmente um array vazio. 29 00:01:23,410 --> 00:01:27,670 >> Dentro de renderização rodapé, perceber que eu sou chamar uma função chamada Extract. 30 00:01:27,670 --> 00:01:32,170 Extrato leva uma matriz associativa, como Os dados, neste caso, e por qualquer 31 00:01:32,170 --> 00:01:37,060 chave nele, ele gira a chave em um variável local com o mesmo nome. 32 00:01:37,060 --> 00:01:41,640 Então, se essa matriz associativa tinha uma chave chamado Foo, extrato seria garantir que 33 00:01:41,640 --> 00:01:45,680 agora temos uma variável local chamada cifrão Foo, cujo valor é o 34 00:01:45,680 --> 00:01:48,140 mesmo que era em que array associativo. 35 00:01:48,140 --> 00:01:52,890 >> Por fim, chamo Exigir Footer.php, que, como um aparte, parece 36 00:01:52,890 --> 00:01:54,900 simplesmente assim. 37 00:01:54,900 --> 00:01:59,390 Agora, de volta em Helpers.php, observe que temos também de renderização cabeçalho, cujo 38 00:01:59,390 --> 00:02:02,610 argumento é o mesmo, uma matriz chamado cujos dados padrão 39 00:02:02,610 --> 00:02:04,380 valor é uma matriz vazia. 40 00:02:04,380 --> 00:02:07,060 Chamamos então Extrato de novo, como antes. 41 00:02:07,060 --> 00:02:12,130 E então nós Exigir header.php, cujos conteúdos são agora isso. 42 00:02:12,130 --> 00:02:16,980 >> Dentro de header.php, observe que nós já não têm um título codificado. 43 00:02:16,980 --> 00:02:19,720 E agora temos um tag H1, também. 44 00:02:19,720 --> 00:02:24,030 Em particular, o valor do título vai ser tudo o que o valor de 45 00:02:24,030 --> 00:02:26,750 a variável local chamado Título é. 46 00:02:26,750 --> 00:02:31,800 Depois de passá-lo para uma função PHP chamado HTML caracteres especiais, nós vamos 47 00:02:31,800 --> 00:02:36,560 para se obter o valor de retorno, e, em seguida, conecte-o ao HTML estou saída 48 00:02:36,560 --> 00:02:39,430 por um modo de esta função, chamada Echo. 49 00:02:39,430 --> 00:02:43,580 >> Realmente, este é notação abreviada para uma chamada de função que poderiam 50 00:02:43,580 --> 00:02:44,780 semelhante a este. 51 00:02:44,780 --> 00:02:49,010 Mas é muito mais limpo, simplesmente, para escrever suporte aberto ponto de interrogação igual 52 00:02:49,010 --> 00:02:51,400 assinar, sem nem mesmo mencionar PHP. 53 00:02:51,400 --> 00:02:56,260 Estou indo agora para fazer o mesmo dentro de que tag H1 para que, em última análise, se o 54 00:02:56,260 --> 00:03:00,520 usuário passa à minha função de renderização Header uma matriz associativa, dentro 55 00:03:00,520 --> 00:03:05,310 de que é uma chave chamada título, que chave do array associativo se tornará um 56 00:03:05,310 --> 00:03:07,870 variável local chamada cifrão título. 57 00:03:07,870 --> 00:03:12,130 >> Nós, então, passar esse sinal de dólar Título variável para essa função, HTML 58 00:03:12,130 --> 00:03:13,240 Caracteres especiais. 59 00:03:13,240 --> 00:03:16,500 E só no caso de haver qualquer potencial caracteres perigosos em 60 00:03:16,500 --> 00:03:20,500 lá, como e comercial ou outros, tais símbolos, caracteres especiais HTML fará 61 00:03:20,500 --> 00:03:23,140 Certifique-se de que eles estão prestados com segurança na página. 62 00:03:23,140 --> 00:03:26,420 E usando pergunta suporte aberto marcar o sinal de igual, estou literalmente 63 00:03:26,420 --> 00:03:30,080 substituindo a que parte do página qualquer que seja o valor de retorno 64 00:03:30,080 --> 00:03:32,050 de HTML Chars é. 65 00:03:32,050 --> 00:03:36,450 >> Enquanto isso, em Lectures.php, eu ter um novo valor para o título. 66 00:03:36,450 --> 00:03:38,330 Não CS50, mas Palestras. 67 00:03:38,330 --> 00:03:41,590 Em Week0.php, tenho um valor de semana 0. 68 00:03:41,590 --> 00:03:45,560 E em Week1.php, tenho um valor da Semana 1. 69 00:03:45,560 --> 00:03:48,790 Assim, no final do dia, a minha página parece muito como fazia antes. 70 00:03:48,790 --> 00:03:52,090 Mas temos agora obtido um muito, muito melhor design. 71 00:03:52,090 --> 00:03:54,240