我有以下文件结构:
<?php
class Example {
public function test(){
include "someDirectory/somefile.php";
}
}
?>
我想要包含一个类的文件:
{{1}}
它会抛出一个错误,因为它包含的是来自其他文件/目录而不是类。因为我正在编写一个库,所以我不知道文件所在的目录以及创建实例的文件的路径和'somefile.php'。
所以我的问题是:有没有办法在'Example.class.php'中包含'somefile.php'?
答案 0 :(得分:1)
您可以在PHP中使用__DIR__
常量
文件的目录。如果在include中使用,则返回包含文件的目录。这相当于dirname(
__FILE__
)。除非它是根目录,否则此目录名称没有尾部斜杠。
(https://secure.php.net/manual/en/language.constants.predefined.php)
那将是:
<?php
class Example {
public function test(){
include __DIR__."/../someDirectory/somefile.php";
}
}
?>
使用此方法,您可以使用文件的相对路径。
答案 1 :(得分:0)
您可以获取该文件所在的当前路径。
在您正在使用的结构中,您可以将Example类重写为:
<?php
class Example {
public function test(){
include __DIR__ . DIRECTORY_SEPARATOR . "someDirectory/somefile.php";
}
}
?>
__DIR__
常量将为您提供当前文件夹。