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