我遇到了include / require路径的问题。由于代码样式是OOP,因此子类化时会出现问题,因为路径是相对于第一个包含器文件的。例如:
// path: /class/entity/A.class.php
class A { /*definition*/ }
// path: /class/widget/B.class.php
require_once("../model/entity/A.class.php");
class B extends A { /*definition*/ }
// path /ajax/some_request.php
require_once("../class/widget/B.class.php");
//.. some code to execute
问题在于,由于需求路径相对于some_request.php
,因此路径不会找到A.class.php
,因为路径最终应为/model/entity/A.class.php
,/class/model/entity/A.class.php
}
答案 0 :(得分:2)
您可以使用相对路径来执行此操作(您已经拥有):
如果你想上两个目录,你会这样做:
require_once("../../path/to/my/file.php");
从您的结构看起来您会想要类似的东西:
require_once("../../../classes/model/entity/A.cass.php");
我错过了你的问题吗?
答案 1 :(得分:1)
使用
$path = dirname(dirname(__FILE__))."/my/path";
来自当前文件的父目录。以您的代码为例......
// path: /class/model/entity/A.class.php
class A { /*definition*/ }
// path: /class/widget/B.class.php
require_once(dirname(dirname(__FILE__))."/model/entity/A.class.php");
class B extends A { /*definition*/ }
// path /ajax/some_request.php
require_once(dirname(dirname(__FILE__))."/class/widget/B.class.php");
//.. some code to execute