SPEAKER: Hãy cải thiện các khóa học trang chủ bằng cách cho phép bản thân mình để cung cấp tiêu đề tùy chỉnh cho mỗi người trang, để mỗi người trong số họ là không, khá đơn giản, CS50. Để làm điều này, chúng ta hãy thực hiện một vài chức năng, một gọi là Render Tiêu đề và một gọi là Render Footer, mà Yêu cầu thay vì một mình sẽ mất chăm sóc của các cung cấp của chúng tôi tiêu đề của trang và cuối trang. Chúng ta hãy có một cái nhìn. Bên trong index.php bây giờ, thông báo rằng Tôi đang yêu cầu một tập tin mới được gọi là Helpers.php. Nó ở trong đó hai chức năng của tôi sẽ được xác định. Dưới đây, nhận thấy rằng bây giờ tôi đang kêu gọi chức năng Render Header. Và tôi đi qua trong một cuộc tranh cãi. Các loại lập luận rằng dường như là một mảng, mà trong PHP được ký hiệu với dấu ngoặc vuông. Đặc biệt, mảng này là một mảng kết hợp trong chừng mực nó liên kết một trọng điểm, như tiêu đề, có một giá trị, như CS50, hơn là dựa trên chỉ số, một mình. Dưới đây mà bây giờ chúng tôi có danh sách không có thứ tự của tôi. Nhưng sau đó, chúng tôi có một cuộc gọi đến Render Chân trang, các chức năng khác đó là có lẽ được xác định trong Helpers.php. Chúng ta hãy có một cái nhìn hiện nay. Trong Helpers.php, thông báo rằng tôi có, thực sự, chức năng Render Footer mục đích mà trong cuộc sống là rõ ràng để có trong như là đối số của nó một mảng được gọi là dữ liệu. Bây giờ, nếu người sử dụng không cung cấp một mảng rõ ràng, thực tế là có một sau dấu bằng hình vuông rỗng khung có nghĩa là giá trị mặc định dữ liệu sẽ đơn giản là một mảng trống. Bên trong Render Footer, thông báo rằng tôi gọi một chức năng được gọi là Extract. Chiết xuất có một mảng kết hợp, như Dữ liệu trong trường hợp này, và đối với bất kỳ quan trọng trong nó, nó quay quan trọng vào một biến địa phương có cùng tên. Vì vậy, nếu có mảng kết hợp có chìa khóa gọi là Foo, chiết xuất sẽ đảm bảo rằng bây giờ chúng tôi có một biến địa phương gọi là ký hiệu đô la Foo, có giá trị là giống như nó đã ở đó mảng kết hợp. Cuối cùng, tôi gọi Yêu cầu footer.php, đó là một sang một bên, trông khá đơn giản như thế này. Bây giờ, trở lại trong Helpers.php, nhận thấy rằng chúng tôi cũng đã Render Header, có lập luận là như nhau, một mảng được gọi là dữ liệu mà mặc định giá trị là một mảng trống. Sau đó chúng ta gọi là Extract một lần nữa, như trước đây. Và sau đó chúng tôi Yêu cầu header.php, có nội dung hiện nay này. Bên trong header.php, thông báo rằng chúng tôi không còn có một tiêu đề cứng mã hoá. Và bây giờ chúng tôi có một thẻ H1, là tốt. Trong đó, giá trị của danh hiệu là có được bất cứ điều gì giá trị của các biến địa phương gọi là Tiêu đề là. Sau khi vượt qua nó vào một chức năng PHP gọi là HTML đặc biệt Chars, chúng ta sẽ để có được giá trị đó trở lại, và sau đó cắm nó vào HTML tôi xuất bởi một chặng đường của chức năng này, được gọi là Echo. Thực sự, đây là ký hiệu viết tắt cho một cuộc gọi chức năng mà có thể khác trông như thế này. Nhưng đó là một sạch hơn rất nhiều, chỉ đơn giản là, để viết mở khung dấu hỏi bằng đăng ký, mà không hề đề cập đến PHP. Tôi bây giờ sẽ làm bên trong cùng một rằng H1 để cuối cùng, nếu người sử dụng vượt qua để Render Tiêu đề chức năng của tôi một mảng kết hợp, bên trong trong số đó là một phím gọi là Tiêu đề, mà chính kết hợp mảng sẽ trở thành một biến địa phương được gọi là ký hiệu đô la đề. Sau đó chúng tôi sẽ vượt qua rằng đồng đô la dấu hiệu Tiêu đề biến để chức năng này, HTML Chars đặc biệt. Và chỉ trong trường hợp có bất kỳ khả năng nhân vật nguy hiểm trong ở đó, như ampersands hoặc khác biểu tượng, HTML đặc biệt Chars sẽ làm cho chắc chắn rằng họ đang trả lại một cách an toàn trên trang. Và bằng cách sử dụng câu hỏi mở khung đánh dấu dấu bằng, tôi theo nghĩa đen thay thế trong lúc đó một phần của trang bất cứ điều gì giá trị trả về HTML Chars là. Trong khi đó, trong Lectures.php, tôi có một giá trị mới cho đề. Không CS50, nhưng bài giảng. Trong Week0.php, tôi có một giá trị của Tuần 0. Và trong Week1.php, tôi có một giá trị của Tuần 1. Vì vậy, vào cuối ngày, trang của tôi trông khá giống như nó đã làm trước. Nhưng bây giờ chúng tôi đã nhận được một nhiều, thiết kế tốt hơn nhiều.