php use类找不到的解决办法:1、打开相应的PHP文件;2、将use语句插入每个文件;3、执行“class_alias('RedBean_Facade', 'R');”代码即可。

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php use类找不到怎么办?

问题描述:

关于php:要求包含use语句的文件后找不到类

我正在尝试使用一个文件来建立与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会显示此错误:

Fatal error: Class 'R' not found in /file1.php on line 5

PHP中的名称空间use语句不会得到include d吗?

问题解决:

在PHP中,namespace和use声明仅在它们出现的物理文件中有效。这些声明不跨越require。 它们已经在编译时处理了。

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

您必须将use语句插入每个文件。 这里是文档:

Importing rules are per file basis

但是,您可以使用class_alias解决此问题:

class_alias('RedBean_Facade', 'R');


php use类找不到怎么办