30/09/2018, 19:17

[Hỏi] Hàm require thực sự làm gì trong PHP?

Mọi người cho em hỏi một vấn đề.
Về cơ bản thì chức năng và cách dùng include cũng như require tương đối dễ hiểu, tuy nhiên em đang học PHP và gặp phải một vấn đề hơi khó hiểu, như sau:

  • Giả sử có cấu trúc file và thư mục của 1 project PHP:
    http://imgur.com/kKUTe62
  • Trong thư mục gốc có 2 thư mục: Model (chứa thư mục con test), Controller, đồng thời có file Config.php ở mục gốc
    -trong mục con test có 1 file LaptopModel.php, trong Controller có LaptopController.php,
    trong file Config.php có khai báo:
// in file Config.php
<?php
$host = 'localhost';
$username = 'admin';

trong file LaptopModel.php khai báo:

//in file LaptopModel.php
<?php
require '../../Config.php';

Vấn đề xảy ra cũng chính là cái em muốn hỏi, đó là khi:
trong file LaptopController

//in file LaptopController.php
<?php
require '../Model/test/LaptopModel.php';

Khi đó phải hiểu thế nào về cái require lồng này, vì trong LaptopModel.php cũng lồng 1 cái require, hiểu theo cách nào dưới đây:

//in file LaptopController.php
//will be
<?php
require '../../Config.php'; //copy nguyên vẹn code ở file kia vào

//hay sẽ là
$host = 'localhost';
$username = 'admin';
// lấy nội dung mà đứng ở vị trí thằng kia require được

vì nếu lấy nội dung mà thằng kia require được thì đường dẫn đến file ‘Config.php’ sẽ không còn đúng nữa.
Mọi người có kinh nghiệm giải đáp giúp em vấn đề này với ạ, và theo kinh nghiệm của mọi người thì lúc dùng thằng require này nên dùng đường dẫn tuyệt đối hay tương đối là ổn ạ.

Vu Van Chung viết 21:25 ngày 30/09/2018

Câu hỏi hay thế, mình cũng chưa nghĩ tới cái này bao giờ!! Thú vị thật

nohat viết 21:28 ngày 30/09/2018

Anh sử dụng php nhiều không ạ

tuan viết 21:19 ngày 30/09/2018

Cùng câu hỏi giờ đang bị lỗi đoạn này ko biết sửa kiểu gì

Bài liên quan
0