必须在PHP类的__construct()之前定义公共变量?

时间:2018-08-09 12:40:29

标签: php class oop

要在类中定义属性,我看到两种方法:

1

首先创建公共变量,然后在__construct()函数中引用它们:

<?php
        class User {
        public $name;
        public $email;

       public function __construct($name, $email) {
           $this->name = $name;
           $this->email = $email;
       }

       public function getType() {
           return $this->type;
       }

    } ?>

只需定义属性而不定义公共变量:

2

<?php
   class Cars{
        function __construct($parameter1, $parameter2) {
        $this->model= $parameter1;
        $this->price = $parameter2;
        }

        function getPrice(){
        echo $this->price ."<br/>";
        }

        function getModel(){
        echo $this->model ." <br/>";
        }
} ?>

我想知道这两种方法在PHP中为类定义属性的不同用法是什么?当第二个选项工作相同时,使用第一个选项有什么意义呢?

1 个答案:

答案 0 :(得分:1)

正如您所说,解决方案1和2可以工作,但是解决方案2只是声明类变量的一种不好的方法。

按照严格的约定,总是声明您的类变量

  • 您可以一次查看类的变量。考虑其他照顾您的开发人员,重要的是要知道我们可以在此类中找到哪些变量。
  • 您可以定义变量(公共,保护,私有)的可见性。