包括来自班级的文件

时间:2016-03-17 12:46:49

标签: php include

我有以下文件结构:

<?php
    class Example {
        public function test(){
            include "someDirectory/somefile.php";
        }
    }
?>

我想要包含一个类的文件:

{{1}}

它会抛出一个错误,因为它包含的是来自其他文件/目录而不是类。因为我正在编写一个库,所以我不知道文件所在的目录以及创建实例的文件的路径和'somefile.php'。

所以我的问题是:有没有办法在'Example.class.php'中包含'somefile.php'?

2 个答案:

答案 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__常量将为您提供当前文件夹。