PHP require_once 没有获取变量
PHP require_once not getting a variable
我正在尝试让 require_once 工作,因此我可以使用我的 bootstrap 文件中的可变内容。我目前有以下文件结构:
(文件夹)库
(文件夹)模板
(文件)bootstrap.php
在我的 bootstrap.php 文件中,我有以下数组:
$config = array(
"db" => array(
"db" => array(
"dbname" => "name",
"username" => "user",
"password" => "pass",
"host" => "localhost"
),
),
"paths" => array(
"resources" => "/src",
)
);
在我的 lib 文件夹中有以下 2 个文件:
Database.php
User.php
这两个都是类。在我的 User.php 文件中,我想使用 bootstrap.php 文件中定义的数组,所以我正在做
require_once __DIR__ . '/../bootstrap.php';
其中 DIR 是当前文件夹,然后向下一层到 boostrap.php 所在的位置。但是当我拨打以下电话时:
var_dump( $config );
我得到:
Notice: Undefined variable: config in ...\src\lib\User.php on line 37
NULL
知道我做错了什么吗?
改用include(file.php);
或include_once(file.php);
。
不确定,但试试这个。已编辑
require_once('./../bootstrap.php');
或
require('./../bootstrap.php');
而不是这个
require_once __DIR__ . '/../bootstrap.php';
我不知道在 UNIX 系统上的行为,但在 Windows DIR 上输出某些行 C:\Apache24\htdocs。注意那里的反斜杠。除非您使用 DIR ,否则这不适用于文件名。 "..\libs\User.php"
require 和 require_once 的参数与您的 php 运行时调用的脚本文件有关。因此,如果其他地方需要 User.php(例如您的根目录 index.php),则提供给您的 require 语句的路径需要相对于 index.php,无论您的 require 语句是哪个文件英寸
如果您查看 php 框架如何处理此问题,它们通常会在 bootstrap 序列中设置一些全局 APP_PATH 变量(这是项目的绝对路径磁盘)。
这样一来,无论您需要什么,都可以将路径设为 APP_PATH。
我正在尝试让 require_once 工作,因此我可以使用我的 bootstrap 文件中的可变内容。我目前有以下文件结构:
(文件夹)库
(文件夹)模板
(文件)bootstrap.php
在我的 bootstrap.php 文件中,我有以下数组:
$config = array(
"db" => array(
"db" => array(
"dbname" => "name",
"username" => "user",
"password" => "pass",
"host" => "localhost"
),
),
"paths" => array(
"resources" => "/src",
)
);
在我的 lib 文件夹中有以下 2 个文件:
Database.php User.php
这两个都是类。在我的 User.php 文件中,我想使用 bootstrap.php 文件中定义的数组,所以我正在做
require_once __DIR__ . '/../bootstrap.php';
其中 DIR 是当前文件夹,然后向下一层到 boostrap.php 所在的位置。但是当我拨打以下电话时:
var_dump( $config );
我得到:
Notice: Undefined variable: config in ...\src\lib\User.php on line 37
NULL
知道我做错了什么吗?
改用include(file.php);
或include_once(file.php);
。
不确定,但试试这个。已编辑
require_once('./../bootstrap.php');
或
require('./../bootstrap.php');
而不是这个
require_once __DIR__ . '/../bootstrap.php';
我不知道在 UNIX 系统上的行为,但在 Windows DIR 上输出某些行 C:\Apache24\htdocs。注意那里的反斜杠。除非您使用 DIR ,否则这不适用于文件名。 "..\libs\User.php"
require 和 require_once 的参数与您的 php 运行时调用的脚本文件有关。因此,如果其他地方需要 User.php(例如您的根目录 index.php),则提供给您的 require 语句的路径需要相对于 index.php,无论您的 require 语句是哪个文件英寸
如果您查看 php 框架如何处理此问题,它们通常会在 bootstrap 序列中设置一些全局 APP_PATH 变量(这是项目的绝对路径磁盘)。
这样一来,无论您需要什么,都可以将路径设为 APP_PATH。