Hướng dẫn gọi file php

Việc hỗ trợ chức năng gọi file cùng xử lý chương trình đóng một vai trò rất quan trọng trong hệ thống website. Nó giúp chúng ta có thể tái sử dụng nhiều file có tính sử dụng nhiều lần trong hệ thống. Bằng việc sử dụng include và require sẽ giúp chúng ta làm điều đó.

Cú pháp gọi file include, require

include "filename.php"; require "filename.php";

Trong đó filename.php chính là file chúng ta muốn gọi vào cùng xử lý chương trình với file hiện tại.

2 hàm include và require có cùng chức năng gọi file cùng xử lý tuy nhiên nó khác nhau ở bước thông báo lỗi khi file được gọi không tồn tại trong hệ thống.

  • include: Báo lỗi không tìm thấy file được gọi và những code chương trình đằng sau nó vẫn chạy bình thường.
  • require: Báo lỗi không tìm thấy file được gọi và dừng chương trình ngay lập tức và không chạy tiếp những code đằng sau nó.

Lời khuyên: Để đảm bảo website được chạy trôi chảy không gặp bất kỳ lỗi nào bạn nên sử dụng hàm require() thay vì include()

Ví dụ gọi file php

Ví dụ 1: Dùng chung header, footer website

Như chúng ta thấy các website thường có header và footer giống nhau ở các trang.

Nếu ở trang nào cũng copy header, footer để dùng lại thì thực sự mất rất nhiều thời gian và mỗi khi cần thay đổi một nội dung nào đó thì lại đi vào tất cả các trang để xử lý sẽ mất rất nhiều thời gian.

Thay vì thế chúng ta có thể cắt header và footer website đưa vào trong một folder để dùng chung.

Bên dưới là cấu trúc thư mục bạn tham khảo

inc -- header.php -- footer.php index.php product.php contact.php

Khi đó trong các file thành phần chúng ta chỉ cần gọi header và footer vào để dùng chung.

File index.php

require "inc/header.php"; //Nội dung của trang chủ ở đây require "inc/footer.php

File contact.php

require "inc/header.php"; //Nội dung của trang contact ở đây require "inc/footer.php";

File product.php

require "inc/header.php"; //Nội dung của trang product ở đây require "inc/footer.php";

Ví dụ 2: Dùng chung hàm xử lý url

Ví dụ hàm redirect() dùng chuyển hướng url trong website được sử dụng nhiều nơi. Chúng ta có thể tạo ra file url.php để chứa những hàm xử lý url. Khi nào dùng nó thì chỉ cần require vào là ok.

helper --- url.php --- ... index.php

File url.php

function redirect($url){ if(!empty($url)) header("location: {$url}"); }

Ở file index.php muốn dùng hàm trên thì chỉ cần gọi vào

File index.php

require "helper/url.php"; //Chuyển hướng qua website học lập trình Unitop.vn redirect("//unitop.vn");

Tổng kết: Vậy là tôi đã hướng dẫn chi tiết đến bạn hàm giúp gọi file trong website. Việc của bạn ngay bây giờ hãy code lại những ví dụ bên trên để nắm chắc phần này.



Phan Văn Cương founder Unitop.vn

Đã đăng vào thg 4 24, 2018 2:06 SA 3 phút đọc

Khi sử dụng WordPress. Chúng ta sẽ tạo ra các file templates để có thể sử dụng ở nhiều vị trí khác nhau cũng như dễ dàng chỉnh sửa. WordPress được base trên PHP nên các file code đều có đuôi file là PHP. Sau đây mình sẽ giới thiệu một số các gọi file php trong function cũng như trong file templates.

Thêm file trong PHP trong file function.php

Khi các bạn code 1 function cần tương tác với admin thì các file sẽ phải được include trong function.php

Sử dụng Hàm include() sẽ gọi 1 file PHP. Nếu không tìm thấy, sẽ có lỗi PHP warning.

Sử dụng Hàm include_once() cũng tương như include(), nhưng sẽ chỉ gọi file cần thêm vào 1 lần.

Thêm file bắt buộc trong PHP

Cũng tương tự như thêm file ở trên, nhưng quá trình hoạt động sẽ bị gián đoạn và hiển thị lỗi khác nhau.

require() hoạt động tương tự include(), nhưng một khi file không tìm thấy, bạn sẽ thấy script break từ đó.

require_once() cũng tương tự include_once(), tức là nếu đã call file đó một lần thì không thể call lần thứ 2.

Gọi file trong Templates WordPress

Trong WordPress, khi làm theme chúng ta nên tách biệt các phần có thể sử dụng lại nhiều lần như Loop Post, Element, Shortcode. Chúng ta sẽ tạo ra file templates riêng như logo.php hoặc latest-post.php khi sử dụng các file này ở teamplates. Chúng ta sẽ sử dụng hàm get_template_part() là một phần API của WordPress, có thể sử dụng để gọi section/template hoặc một phần code vào trong theme.

Function này sẽ có 2 tham số truyền vào :

Đối đầu tiên là slug của template.

Đối thứ hai là tên của template.

Về cơ bản function này khá thú vị nếu các thành phần bạn cần gọi vào là độc lập, tức là các giá trị và define biến của chúng được gọi bên trong, hoặc gọi từ header.

Thực hành

Chúng ta hãy thử với những ví dụ đơn giản để dễ hiểu hơn.

  1. Ta có 1 template tên logo.php nằm trong thư mục /themes/dgt-gapfood/inc/templates

  2. Ta có 1 template header-right.php nằm trong thư mục /themes/dgt-gapfood/inc/header

Vậy ta sẽ sử dụng get_template_part() để gọi file template logo.php như thế nào

Trong file header.php chúng ta muốn gọi logo ở vị trí bên trái. Chúng ta sẽ có đoạn code như sau:

<div class="col-sm-3 col-md-3 col-lg-3"> <?php get_template_part('inc/templates/logo', ''); ?> </div>

Vậy với file template header-right.php thì chúng ta sẽ gọi như sau:

<div class="hidden-sm hidden-xs col-sm-9 col-md-9 col-lg-9"> <?php get_template_part('inc/header/header', 'right'); ?> </div>

Như vậy các bạn sẽ thấy nếu như file template của các bạn chỉ có 1 đối số là logo chả hạn thì k cần truyền đối số thứ 2 vào. Nhưng nếu file template có 2 đối số ví dụ header-right.php thì header và right là 2 đối số.

Kết luận

Với việc sử dụng file ở trong function nếu bạn sử dụng get_template_part() thì sẽ không có tác dụng. Vì vậy, hãy sử dụng require còn nếu sử dụng file templates trong teamplate của WordPress thì sử dụng get_template_part

Chúc các bạn thành công.

All rights reserved

Chủ đề