我有一个外部文件,在我的php类中需要一些vars,并与我班级的所有函数共享:
vars.inc:
<?php
$a = 1;
?>
class.php:
<?php
class A{
public function __construct(){
require_once("vars.inc");
}
public function aB{
echo $a;
}
}
?>
但它不起作用:$ a var未定义
我该怎么办?
感谢所有
答案 0 :(得分:1)
函数中的变量只存在于局部范围内,除非您将它们分配给类变量。
例如,如果您在所包含的页面中有此内容:
<?php
$myvariable = 'hello';
?>
然后你的班级应该使用$this
将它分配给一个类变量。
有关变量范围的详细信息,请参阅manual。
答案 1 :(得分:0)
这是一个范围问题。也许这会更好:
<?php
class A{
protect $a;
public function __construct(){
require_once("vars.inc");
$this->a = $a;
}
public function aB{
echo $this->a;
}
}
?>
答案 2 :(得分:0)
这通常是一种不好的做法。通过构造函数或方法将变量赋给类,或者创建一个包含变量的静态类或保存这些值的全局可访问变量。这取决于您的代码以及您正在尝试做的事情。