PHP 在类/对象中使用全局变量

标签 php class variables object

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
Workaround for basic syntax not being parsed



我不明白如何在 php 中的对象内部使用变量。

例如在 javascript 中,我会这样做,它会很好。
var foo = 10,
    bar = {option: foo+5}
;

console.log(bar.option);

在 php 中我也这样做,但失败了
$variable = 10;

class myObject {
    var $username = $variable + 5 ;
    var $zzz = $username + 5;

}

也可以使用 $this在对象中还是仅在函数中?

最后,我将如何设置基于同一对象内的另一个变量,例如 myObject 的第二行? :)

最佳答案

正确的方法是使用 constructor - 将在创建对象时运行的方法。

当您定义 class properties ,您只能使用常量值(例如 1'xyz'array() 很好),而不是需要在运行时计算的表达式。

将变量传递给构造函数,不要使用全局变量。

class myObject {
    public $username;
    public $zzz;

    public function __construct($variable) {
        $this->username = $variable + 5 ;
        $this->zzz = $this->username + 5;
    }
}

$obj = new myObject(10);
echo $obj->username; //15

在 PHP 中,如果您不想编写 OOP 代码,则不需要使用类和对象。您可以简单地创建好的旧函数。但是,如果您想使用它们,请尝试熟悉 OOP 概念。

关于PHP 在类/对象中使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983287/

相关文章:

c - 在 header 中初始化静态变量

c语言%f变量,f后面是数字

php - ElasticSearch PHP - 获取类型/索引中 10 个(最新)项目的列表

php - 使用PHP将多页PDF的所有页面转换为图像会导致图像中出现重复结果

javascript - 如何从使用 javascript 发布的表单中获取值

css - Svelte:将类添加到 div 不会将类 CSS 添加到 div

c# - 如何仅使用声明(接口(interface))对应用程序进行建模?

php - Laravel 迁移在表中分配 2 个主键

php - 这两种初始化 PHP 类的方法有什么区别?

css - Less css - Id with variable, google plus, cover all