Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在要求包含use语句的文件后找不到类_Php_Redbean - Fatal编程技术网

Php 在要求包含use语句的文件后找不到类

Php 在要求包含use语句的文件后找不到类,php,redbean,Php,Redbean,我正在尝试使用一个文件来设置与RedBeanPHP的数据库连接,该连接可以包含在其他任何地方。例如: file1.php <?php require_once '../vendor/autoload.php'; use RedBean_Facade as R; R::setup(); ?> file2.php <?php require_once 'file1.php'; R::debug(true); ?> 但是,导航到file2.php会显示以下错误: 致

我正在尝试使用一个文件来设置与RedBeanPHP的数据库连接,该连接可以包含在其他任何地方。例如:

file1.php

<?php
require_once '../vendor/autoload.php';
use RedBean_Facade as R;
R::setup();
?>

file2.php

<?php
require_once 'file1.php';
R::debug(true);
?>

但是,导航到file2.php会显示以下错误:

致命错误:在第5行的/file1.php中找不到类“R”


PHP中的namespace use语句是否未获取
包含
d?

在PHP中
命名空间
使用
声明仅在它们出现的物理文件中有效。这些声明不跨越
require
s。它们已在编译时处理

如果
a.php
在其命名空间中使用别名,并且它包含在
b.php
中,则
b.php
将看不到
a.php
中定义的别名

您必须在每个文件中插入
use
语句:

导入规则是基于每个文件的

但是,您可以使用以下方法解决此问题:

class_alias('RedBean_Facade', 'R');