博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 类中 全局变量,类名称中的PHP命名空间和全局变量问题
阅读量:7029 次
发布时间:2019-06-28

本文共 908 字,大约阅读时间需要 3 分钟。

我不知道为什么我的HelperClass()下的全局$error返回为空,我不知道为什么我可以验证$class->错误确实已经填满了之前的数据.

在这种情况下,我不知道有关于命名空间的某些问题吗?请给我一些指示.

以下是一些相关的代码.

在主文件下

namespace Core;

$class = new ControllerClass();

$error = $class->error;

// verified that $error prints correctly here

include ViewFile.php;

在ViewFile.php下

$helper = new HelperClass();

// __autoload function took care of the include

在HelperClass下:

namespace Core\Skeleton;

class HelperClass {

public function __construct() {

global $error;

// $error != $class->error as defined earlier

// $error is empty here

}

解决方法:

如果您正在使用自动加载器或在另一个辅助函数中包含您的类,则$error变量从未在“全局”范围内声明.最终在一些地方,并得到了处置.

在为其分配值之前声明它已共享.

namespace Core;

$class = new ControllerClass();

global $error;

$error = $class->error;

此外,虽然共享变量本身没有任何问题.名称$error似乎有点过于通用.也许你可以使用一个不那么暧昧或更有条理的交换变量. $GLOBALS [“/ var / log”] [“controller_error”]或类似的东西.

标签:php,global-variables,namespaces

来源: https://codeday.me/bug/20190723/1514421.html

转载地址:http://rhexl.baihongyu.com/

你可能感兴趣的文章
HTML简单的注册页面搭建
查看>>
【06】Vue 之 组件化开发
查看>>
Docker 安装
查看>>
多数据库数据导入
查看>>
[AVR]高压并行编程---基础知识
查看>>
inl文件介绍
查看>>
前端坑--表单篇
查看>>
P2P原理基础
查看>>
完成登录功能,用session记住用户名
查看>>
DBCP和C3P0使用--未完善
查看>>
JS常用方法(获取Class、获取元素样式、事件监听、cookie、ajax等)
查看>>
BZOJ 1084 最大子矩阵
查看>>
2018杭电多校第三场1007(凸包,极角排序)
查看>>
django中orm的简单操作
查看>>
Mybatis知识(1)
查看>>
[CentOS] 7 不执行文件 /etc/rc.d/rc.local
查看>>
模态窗口的各个属性
查看>>
10.28 (上午) 开课一个月零二十四天 (数据访问)
查看>>
为什么你应该(从现在开始就)写博客
查看>>
小技巧积累
查看>>