0

我在我的 php 类中有一个带有一些变量的外部文件,并与我的类的所有函数共享它们:

vars.inc:

<?php
 $a = 1;
?>

类.php:

<?php
 class A{
  public function __construct(){
   require_once("vars.inc");
  }
  public function aB{
   echo $a;
  }
 }
?>

但它不起作用:$a var 未定义

我能怎么做?

谢谢大家

4

3 回答 3

1

函数中的变量只存在于局部范围内,除非您将它们分配给类变量。

例如,如果您在包含的页面中有这个:

<?php
$myvariable = 'hello';
?>

然后你的类应该使用$this将它分配给一个类变量。

我的变量 = $我的变量;} 公共函数 aB{ 回声 $myvariable; } } ?>

有关变量范围的更多信息,请参阅手册

于 2010-04-11T18:00:49.617 回答
0

这是一个范围问题。也许这会更好:

<?php
 class A{
  protect $a;
  public function __construct(){
   require_once("vars.inc");
   $this->a = $a;

  }
  public function aB{
   echo $this->a;
  }
 }
?>
于 2010-04-11T18:01:22.607 回答
0

这通常是一种不好的做法。通过构造函数或方法将变量提供给类,或者创建一个包含变量的静态类或将保存这些值的全局可访问变量。这取决于您的代码以及您正在尝试做的事情。

于 2010-04-11T18:08:10.643 回答