PHP,命名空间中的新变量类

标签 php oop namespaces

我正在试验 PHP 5.3 的命名空间功能,但我只是想不出如何实例化带有命名空间前缀的新类。

这目前工作正常:

<?php
new $className($args);
?>

但是如何在变量类名前面添加我的命名空间呢?以下示例不起作用。

<?php
new My\Namespace\$className($args);
?>

此示例产生:解析错误:语法错误,意外的 T_VARIABLE

最佳答案

试试这个:

$class = "My\Namespace\\$className";
new $class();

变量$className前必须有两个反斜杠\\进行转义

关于PHP,命名空间中的新变量类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7936519/

相关文章:

javascript - 如何正确检查是否所有表单元素都填充了 JavaScript

php - apache目录列表,全部下载

php mysqli 查询期望参数 1 为字符串

c# - 使用转换器 WPF 绑定(bind)来自另一个 cs 文件的属性

c# - 单独的项目或多个类文件... C# 中的命名空间最佳实践

Php 我的 sql 插入不起作用

php - Zend_Date 计算减去两个日期的错误

php - 使用 fnmatch() 测试 level1.level2.level3 中的权限

python - 在 python 中编写模块化代码

ruby-on-rails - Rails 5,具有命名空间资源的 Pundit