Php 如何一次性定义常量并在所有文件中重复使用?

Php 如何一次性定义常量并在所有文件中重复使用?,php,Php,我正试图建立一个有许多可重复使用的页眉/页脚、样式信息等的站点。是否有必要定义一个全局常量/函数,可以从任何文件中重复使用,而无需每次尝试导航目录 差不多 <html> <? includeAll(); // Would include the necessary files, no matter what directory runs the script header(); // Would print the reused <head> inf

我正试图建立一个有许多可重复使用的页眉/页脚、样式信息等的站点。是否有必要定义一个全局常量/函数,可以从任何文件中重复使用,而无需每次尝试导航目录

差不多

<html>
<?
    includeAll(); // Would include the necessary files, no matter what directory runs the script
    header(); // Would print the reused <head> information
?>
<body>
...
    <? footer(); ?>
</body>
</html>
也不起作用,因为$\u服务器超级全局将返回服务器上的锁定目录,而不是根站点目录

我有什么选择吗?

有什么问题吗

define('ROOT_DIR', '/var/www/my_page/');
function includeAll() {
    include_once(ROOT_DIR . 'file1.php');
    include_once(ROOT_DIR . 'file2.php');
    include_once(ROOT_DIR . 'file3.php');
    include_once(ROOT_DIR . 'file4.php');
}
有什么问题吗

define('ROOT_DIR', '/var/www/my_page/');
function includeAll() {
    include_once(ROOT_DIR . 'file1.php');
    include_once(ROOT_DIR . 'file2.php');
    include_once(ROOT_DIR . 'file3.php');
    include_once(ROOT_DIR . 'file4.php');
}

在标题中,用根信息声明一个变量。包含标题的路径必须正确,但从那时起,您可以使用
include(MY_ROOT.'filename.php')

在标题中,声明一个包含根信息的变量。包含标题的路径必须正确,但从那时起,您可以使用
include(MY_ROOT.'filename.php')

我一直在使用:

set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] );
include_once('glob.php');
它将我的include路径设置在网站的根目录下。 但不确定它是否适合您,或者是否有更好的方法?

我一直在使用:

set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] );
include_once('glob.php');
它将我的include路径设置在网站的根目录下。
但是,不确定它是否适合您,或者是否有更好的方法?

为什么每次都要
浏览目录
?您可以创建一个文件
glob.php
,该文件声明所有全局函数和常量。然后,您只需通过
require\u once()
包含此文件。如果
$\u服务器['DOCUMENT\u ROOT']
始终返回同一目录,您可以导航到包含文件的目录并包含它们<代码>需要\u once$\u服务器['DOCUMENT\u ROOT'].//www/includes/file.php'。为什么每次都要
浏览目录
?您可以创建一个文件
glob.php
,该文件声明所有全局函数和常量。然后,您只需通过
require\u once()
包含此文件。如果
$\u服务器['DOCUMENT\u ROOT']
始终返回同一目录,您可以导航到包含文件的目录并包含它们<代码>需要\u once$\u服务器['DOCUMENT\u ROOT'].//www/includes/file.php'。他指的是文件之间的全局,而不是脚本。你改变答案了吗?似乎没有,我想我对错误的答案发表了评论。:/哈哈,sorry@Nideo是的,对不起,我一开始误解了这个问题。他指的是文件之间的全局,而不是脚本。你修改了答案吗?似乎没有,我想我对错误的答案发表了评论。:/哈哈,sorry@Nideo是的,对不起,我一开始就误解了这个问题