Để xây dựng một trang web bằng PHP thì đòi hỏi ban phải sử dụng rất nhiều mã code khác nhau và có thể lên đến hàng trăm hàng ngàn line, vì vậy nếu chúng ta chỉ code nó trong một file PHP duy nhất thì rất là tệ hại bởi rất khó để nâng cấp và bảo trì chúng. Với nhược điểm này hầu hết các ngôn ngữ lập trình cho phép chúng ta phân chia mã code thành nhiều file khác nhau  và muốn dùng file nào thì chỉ việc khai báo là được. Với C++ hay C# thì chúng ta có lệnh #include dùng để import các thư viện vào một file và sử dụng, vậy trong PHP cũng có một lệnh tương tự đó là lệnh require, require_once, include và include_once.

Trong bài này mình sẽ hướng dẫn các bạn cách sử dụng và phân biệt khi nào thì nên sử dụng từng lệnh cụ thể nhé.

Trước tiên bạn tạo cho tôi 2 file đó là file index.php và file import.php nhé.

Nội dung chính

  • 1. Lệnh require – require_once – include – include_once
  • Lệnh require:
  • Lệnh require_once:
  • Lệnh include:
  • Lệnh include_once:
  • 2. Sự khác nhau giữa require và include
  • Giống nhau giữa require và include:
  • Khác nhau giữa require và include:
  • 3. Lời kết
  1. Lệnh require – require_once – include – include_once

Lệnh requirerequire_onceinclude và include_once dùng để import một file PHP A vào một file PHP B với mục đích giúp file PHP B có thể sử dụng được các thư viện trong file PHP A.

Ví dụ bạn đang xây dựng một ứng dụng quản lý sinh viên, lúc này bạn cần một số hàm kết nối và xử lý dữ liệu cho sinh viên thì bạn sẽ đặt nó trong một file student.php riêng và bất kì một file khác muốn sử dụng thì chỉ cần import file student.php đó vào.

Về cú pháp thì cả bốn lệnh đều có chung cú pháp như sau:

 

1

2

3

4

require “/path.php”;

require_once “/path.php”;

include “/path.php”;

include_once “/path.php”;

 

Trong đó path.php là đường dẫn tuyệt đối nhé các bạn, nghĩa là path là một đường dẫn trên Server chứ không phải trên trình duyệt browser (nghĩa là đường dẫn tương đối).

Bây giờ chúng ta cùng tìm hiểu cụ thể hơn về cách sử dụng nhé.

Lệnh require:

Dùng để import một file PHP khác vào file hiện tại, lúc này file hiện tại có thể sử dụng mọi tài nguyên của file import đó.

Ví dụ: Bạn mở file import.php lên và nhập vào nội dung sau.

 

1

2

3

4

function show_message()

{

echo ‘Đây là hàm show_message trong file import.php’;

}

 

Tiếp theo bạn vào file index.php nhập nội dung sau:

 

1

2

3

4

5

// Import file import.php

require “/import.php”;

 

// Sử dụng hàm show_message trong file import.php

show_message();

 

Chạy file index.php lên bạn sẽ thấy nó xuất ra câu thông báo “Đây là hàm show_message trong file import.php“.

Nếu bạn cố ý require hai lần cùng một file thì lập tức sẽ bị thông báo lỗi vì hàm show_message()đã được định nghĩa. Lý do là khi ta require hai lần thì lần thứ hai đã bị đụng tên hàm. Bây giờ bạn thay đổi nội dung file index.php như sau:

 

1

2

3

4

5

6

// Import file import.php

require “require.php”;

require “require.php”;

 

// Sử dụng hàm show_message trong file import.php

show_message();

 

Lập tức sẽ bị thông báo lỗi như hình dưới đây.

Lệnh require_once:

Lệnh này có chức năng chẳng khác gì lệnh require, tuy nhiên điểm khác biệt đó là lệnh require_once chỉ import đúng một lần, nghĩa là khi bạn sử dụng hai lệnh require_once cùng một file thì ở lệnh require_once thứ hai nó sẽ thấy là đã xử lý rồi nên nó sẽ không thực thi nữa.

Ví dụ: Bạn thay đổi nội dung file index.php như sau

 

1

2

3

4

5

6

// Import file import.php

require_once “/import.php”;

require_once “/import.php”;

 

// Sử dụng hàm show_message trong file import.php

show_message();

 

Chạy lên chương trình vẫn hoạt động bình thường.

Lệnh include:

Công dụng và tính chất giống như lênh require.

Ví dụ:

 

1

2

3

4

5

// Import file import.php

include “/import.php”;

 

// Sử dụng hàm show_message trong file import.php

show_message();

 

Tương tự như require. Tuy nhiên nếu bạn cố ý include hai lần thì sẽ KHÔNG xuất hiện lỗi mà đó chỉ là một cảnh báo, đây chính là sự khác nhau giữa hai lệnh này.

Lệnh include_once:

Công dụng và tính chất giống với lệnh require_once.

Ví dụ:

 

1

2

3

4

5

// Import file import.php

include_once “/import.php”;

 

// Sử dụng hàm show_message trong file import.php

show_message();

 

  1. Sự khác nhau giữa require và include

Chúng ta sẽ nói về sự khác nhau giữa require và include, require_once và include_once luôn. Tuy nhiên mình sẽ giải thích cặp đầu tiên đó là require và include thôi, cặp còn lại sẽ tương tự nhé các bạn.

Giống nhau giữa require và include:

Cả hai lệnh đều có nhiệm vụ import một file PHP vào một file PHP khác.

Khác nhau giữa require và include:

Nếu khi import một file bằng lệnh require thì nếu chương trình bị lỗi thì lập tức trình biên dịch sẽ dừng và xuất ra thông báo lỗi. Còn nếu sử dụng lệnh include thì đó chỉ là một cảnh báo nên chương trình vẫn chạy cho đến cuối chương trình.

  1. Lời kết

Qua bài này mình đã giới thiệu cách sử dụng các lệnh require, require_once, include và include_once trong PHP, đồng thời mình cũng nói sự khác nhau giữa các cặp require và include trong PHP. Hy vọng qua bài này bạn sẽ hiểu rõ hơn những cặp lệnh dùng để chèn file trong PHP.

 

324 BÌNH LUẬN

  1. I think other site proprietors should take this web site as an model, very clean and wonderful user friendly style and design, let alone the content. You are an expert in this topic!

  2. Normally I don at read post on blogs, however I would like to say that this write-up very forced me to check out and do it! Your writing taste has been amazed me. Thank you, very nice post.

  3. You have remarked very interesting details ! ps nice internet site. аАа’аАТ‚аЂТ˜Tis a sharp medicine, but it will cure all that ails you. аАа’аАТ‚б‚Т€Т last words before his beheadding by Sir Walter Raleigh.

  4. My brother suggested I might like this web site. He was totally right. This post actually made my day. You cann at imagine simply how much time I had spent for this information! Thanks!

  5. Nice blog here! Additionally your website loads up very fast! What web host are you the usage of? Can I get your associate link to your host? I want my website loaded up as fast as yours lol

  6. It as actually a nice and useful piece of information. I am glad that you simply shared this useful information with us. Please stay us informed like this. Thank you for sharing.

  7. This awesome blog is definitely awesome additionally factual. I have found helluva useful tips out of this amazing blog. I ad love to go back over and over again. Cheers!

  8. My brother recommended I might like this blog. He was totally right. This post actually made my day. You can not imagine simply how much time I had spent for this information! Thanks!

  9. Very nice post. I just stumbled upon your blog and wanted to say that I ave truly enjoyed browsing your blog posts. In any case I all be subscribing to your feed and I hope you write again very soon!

  10. You created some respectable factors there. I seemed on the net for the problem and located many people will go along with together with your internet site.

  11. Very nice post and right to the point. I am not sure if this is truly the best place to ask but do you folks have any thoughts on where to get some professional writers? Thx

  12. Nice post. I learn something new and challenging on blogs I stumbleupon every day. It will always be exciting to read articles from other writers and practice something from other websites.

  13. You have made some decent points there. I checked on the internet for more information about the issue and found most individuals will go along with your views on this web site.

  14. This is very interesting, You are a very skilled blogger. I ave joined your rss feed and look forward to seeking more of your magnificent post. Also, I ave shared your site in my social networks!

  15. You made some really good points there. I looked on the web for additional information about the issue and found most people will go along with your views on this web site.

  16. Wow! This can be one particular of the most helpful blogs We ave ever arrive across on this subject. Basically Excellent. I am also a specialist in this topic so I can understand your hard work.

  17. This is very interesting, You are a very skilled blogger. I ave joined your rss feed and look forward to seeking more of your excellent post. Also, I have shared your web site in my social networks!

  18. wonderful issues altogether, you simply gained a new reader. What would you recommend about your publish that you made some days in the past? Any sure?

  19. You ave made some really good points there. I checked on the internet for more information about the issue and found most people will go along with your views on this site.

  20. You have remarked very interesting details ! ps nice internet site. аАа’аАТ‚аЂТ˜Tis a sharp medicine, but it will cure all that ails you. аАа’аАТ‚б‚Т€Т last words before his beheadding by Sir Walter Raleigh.

  21. What is the procedure to copyright a blog content (text and images)?. I wish to copyright the content on my blog (content and images)?? can anyone please guide as to how can i go abt it?.

  22. Very nice post. I just stumbled upon your blog and wanted to say that I ave truly enjoyed browsing your blog posts. In any case I all be subscribing to your feed and I hope you write again soon!

  23. Your style is so unique in comparison to other folks I ave read stuff from. I appreciate you for posting when you ave got the opportunity, Guess I will just bookmark this blog.

  24. Your style is very unique in comparison to other folks I ave read stuff from. Many thanks for posting when you have the opportunity, Guess I all just book mark this page.

THOÁT KHỎI BÌNH LUẬN

Please enter your comment!
Please enter your name here