黑马模板网专注企业网站模板制作,包括企业pbootcms网站模板,静态网页模板,网站源码下载,HTML网站模板等等。
免责声明:本站所有资源(模板、图片)搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。
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类找不到怎么办的详细内容.