Problems with PHP namespaces and built-in classes, how to fix?(PHP 命名空间和内置类的问题,如何解决?)
问题描述
我正在用 PHP 编写一个小型库,但我遇到了一些无法读取内置类的问题.例如:
I'm writing a small library in PHP and i'm having some problems with built-in classes not being read. For example:
namespace Woody;
class Test {
public function __construct() {
$db = new PDO(params);
}
}
这给了我:
PHP 致命错误:在/var/www/test.php 中找不到类WoodyPDO"
PHP Fatal error: Class 'WoodyPDO' not found in /var/www/test.php
推荐答案
这个:
namespace Woody;
use PDO;
或者:
$db = new PDO(params);
以防万一,类 PDO
不是您命名空间中的全限定名称,因此 PHP 会查找不可用的 WoodyPDO
.
Point in case is, that the class PDO
is not a full qualified name within your Namespace, so PHP would look for WoodyPDO
which is not available.
请参阅 名称解析规则文档 详细说明如何将类名解析为完全限定名.
See Name resolution rulesDocs for a detailed description how class names are resolved to a Fully qualified name.
这篇关于PHP 命名空间和内置类的问题,如何解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:PHP 命名空间和内置类的问题,如何解决?
- 带有通配符的 Laravel 验证器 2021-01-01
- Mod使用GET变量将子域重写为PHP 2021-01-01
- 没有作曲家的 PSR4 自动加载 2022-01-01
- SoapClient 设置自定义 HTTP Header 2021-01-01
- Laravel 仓库 2022-01-01
- 从 PHP 中的输入表单获取日期 2022-01-01
- PHP Count 布尔数组中真值的数量 2021-01-01
- 如何定位 php.ini 文件 (xampp) 2022-01-01
- 正确分离 PHP 中的逻辑/样式 2021-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01