PHP OOP声明属性

时间:2018-04-28 02:24:39

标签: php oop

我有一个关于OOP属性的简单查询。

我正在学习OOP。目前,我正在使用CodeIgniter,并计划迁移到Symfony。我想在潜水之前学习OOP原则。希望你指导我。

我只想问一下这样声明属性之间有什么区别:

FIRST:

class MyClass {
    public $name;

    public $age;

    public function someMethod()
    {

    }
}

VS

SECOND:

class MyClass {


    public function someMethod()
    {
        $name = '';
        $age = 0;
    }
}

根据我的理解,如果变量/属性仅由该方法使用,我将使用 SECOND 方法。

如果属性/变量将由类中的不同方法使用,则将使用 FIRST 方法。

希望你能用这个启发我。这就是我现在声明属性的方式。

谢谢,感谢您的所有评论和分享知识。

1 个答案:

答案 0 :(得分:1)

你应该阅读关于变量范围的php文档。 http://php.net/manual/en/language.variables.scope.php

您的第一个示例是全局范围,这意味着该类可以通过该类的任何方法访问。第二个示例是局部范围,函数内使用的任何变量默认限制为本地函数范围。