![](/img/trans.png)
[英]Should require_once “some file.php” ; appear anywhere but the top of the file?
[英]require_once path/to/file.php vs file.php
包含包含另一個文件的文件時出現以下問題:
// path: /ajax/request.php
require_once("../classes/obj/Car.php");
// path: /classes/obj/Car.php;
require_once("Vehicle.php"); // superclass, this works
require_once("../exception/NoWheelException"); // this doesn't work when Car.php is require_once()'d from /ajax/request.php
問題似乎是,如果文件A
需要文件B
,文件B
需要文件C
和D
,則在使用時,僅當C
和D
在文件名前使用"../"
或"./"
情況下才有效require_once()
。
有任何解決方法或任何想法可以解決此問題?
使用__FILE__
以便從以下位置知道它的包含位置:
require_once(dirname(__FILE__) . '/../exception/NoWheelException');
哪里:
__FILE__ == "/classes/obj/Car.php";
dirname(__FILE__) == "/classes/obj";
另外,我不知道一個注釋-如果您的PHP版本足夠新, __DIR__
似乎等效於dirname(__FILE__)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.