PHP,如何设置包含路径


PHP, How to set include path

我一直在写:

include('a.php')
include('b.php')

等。在我的脚本中包括使用函数a()b()。它变得相当乏味。是否有一种方法来设置一个目录的路径,并有多个文件有一个脚本访问?

  1. 我试过在我的脚本:

    set_include_path('.;C:'xampp'htdocs'myfunctionfolder');
    
  2. 我设置了一个环境变量PATH来存放这个文件

  3. 我也在修改php.ini包含

    include_path = ".;'xampp'php'PEAR;'xampp'htdocs'myfunctionfolder"
    

如果我有很多文件在那里,我如何访问这些文件,而不必包括每个单独?在命令提示符中设置环境变量肯定有效。

我是否需要做一些其他的。php文件可以在一个目录下集体访问?

通常的做法是有一个包含include/include_once调用的" Common .php"或"includes.php"文件(为了简单起见)。例如

  • (自由)
    • a.php
    • b.php
    • includes.php
  • index . php
php包含:
<?php
  include_once('a.php');
  include_once('b.php');
?>

那么在任何脚本中,这是一个包括includes.php文件的问题。

然而,为了回答您最初的问题,每次调用只能包含一个文件。您可以使用opendirreaddir之类的东西来遍历特定目录中的所有文件,并在找到它们时包含它们(可以说是自动的),或者根据您正在创建的文件自己写出每个包含。

同样,所有设置include路径所做的就是设置一个目录,以便在进行include调用时查看。它不是一个文件应该自动加载的目录(这是我从你的帖子中得到的印象)。

设置include_path不会包含该目录下的每个文件,它只会在包含文件时将该目录添加到PHP将搜索的列表中。

指定一个目录列表,require()、include()、fopen()、file()、readfile()和file_get_contents()函数在其中查找文件。

来源

这将简化在深层结构中或在文件系统的完全不同的部分中包含文件。

include('/var/somewhere/else/foo.php');

在php.ini中添加/var/somewhere/else/后,include_path可以变成

include('foo.php');

此外,正如其他人指出的那样,有一些常见的做法,但您可以研究OOPHP和自动加载类。这对我所知道的函数不起作用。

许多编写面向对象应用程序的开发人员为每个类定义创建一个PHP源文件。最大的烦恼之一是必须在每个脚本的开头编写一长串所需的include(每个类一个)。

在PHP 5中,不再需要这样做。你可以定义一个__autolload函数,它在你试图使用尚未定义的类/接口时自动调用。通过调用这个函数,脚本引擎有最后一次机会在PHP出错之前加载这个类。

PHP的解析器是相当高效的——你将会浪费更多的时间来加载大量的独立文件,而不是加载一个(或几个)更多的整体文件。然而,如果你坚持要像那样把事情分开,你可以创建元包含文件来加载一组单独的文件,所以你只包含一个元包含文件,它会为你做剩下的事情:

meta.php:

include('a.php');
include('p.php');
...
include('z.php');

然后你只需做:

<?php
include('meta.php');

,并且已经为您加载了所有单独的脚本。

我在大多数项目中都有这样的函数:

function appendToIncludePath($path)
{
    ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . BASE_DIR . $path . DIRECTORY_SEPARATOR);
}

见此题:

如何包含()所有的PHP文件从一个目录?

另外,就最佳实践而言,如果多个函数完全相关,则可以在同一个文件中包含多个函数,我还建议为函数和文件提供更具描述性的名称。例如,如果您的a()和b()函数都与验证相关,请将文件命名为validate .php,并将两个函数放在那里,并尝试将它们重命名为与它们所做的事情相关的东西。这将允许您在开始堆积大量函数列表时记住它们的作用;)

include __DIR__ . '/../folder1/folder2/folder3/Target.php';
include __DIR__ . '/../folder1/folder2/Target.php';

下载最新的PHP压缩包并解压到C驱动器,然后下载composer并安装它,在安装过程中它会要求PHP路径,所以只需选择解压的PHP路径。

如下所示。

  1. 转到Computer

  2. 选择Advance System Settings

  3. 从系统属性中选择Environmental Varaibles
  4. Environmental Varaibles中添加Path的用户变量为PCNAME
  5. Environmental Varaibles中添加Path的系统变量。
  6. 点击确定。
  7. 重启电脑。
  8. Win + R type cmd .
  9. 类型命令php -v .

PHPhttp://php.net/downloads.php

作曲家https://getcomposer.org/download/