【问题标题】:PHP Variable Scope Inside Included Files包含文件中的 PHP 变量范围
【发布时间】:2014-09-05 17:19:29
【问题描述】:

我有以下代码:

<?php

session_start();
require_once('ClassFile.php');
use ClassFile\Component;

include 'somefile.php';

?>

在这个模板中,我可以访问组件的属性(例如 $comp = new Component();)。但是,组件在 somefile.php 中是不可见的。我收到一个错误,大意是它不存在。 (糟糕的)解决方法是在 somefile.php 中复制相同的代码。任何人都可以说发生了什么事吗?我是否需要以某种方式全球化 require_once 和 use 语句中的项目?谢谢。

【问题讨论】:

  • somefile.php 中有什么不起作用?

标签: php variables scope include


【解决方案1】:

如果你的意思是你不能在somefile.php 里面做new Component,那是因为这个类被称为ClassFile\Component,而不是Componentuse 别名不会扩展到包含的文件。如果您也想在 somefile.php 中将 ClassFile\Component 别名为 Component,您还必须在该文件中编写适当的 use 语句。

命名空间始终是每个文件的。

【讨论】:

  • 啊,所以我可以在 include 中添加另一个 use 语句或通过其完全限定名称引用它。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
相关资源
最近更新 更多