>> 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.