Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 何时声明类的属性?_Php_Oop - Fatal编程技术网

Php 何时声明类的属性?

Php 何时声明类的属性?,php,oop,Php,Oop,我刚刚开始学习PHP OOP,不清楚在类的开头需要声明哪些属性 我是否申报财产: A:那是方法的参数 不是方法的参数,但仍然在方法中 C:是从方法返回的吗 例如编辑 下面是我试图创建的一个userclass示例 class user { public function selectMember($username,$password) $query = "SELECT * FROM users WHERE username='$username' && password='$pa

我刚刚开始学习PHP OOP,不清楚在类的开头需要声明哪些属性

我是否申报财产:

A:那是方法的参数

不是方法的参数,但仍然在方法中

C:是从方法返回的吗

例如编辑 下面是我试图创建的一个userclass示例

class user
{
public function selectMember($username,$password)
$query = "SELECT * FROM users WHERE username='$username' && password='$password'";
return $query;
}

所以我只能在类的顶部声明$query

Php.net有一个非常好的

属性是关于对象的数据片段。例如,以经典汽车为例:

  • 汽车的颜色、品牌/型号、年份等都是汽车的属性
  • 可能有一种方法
    StartCar
    需要一个
    对象来启动。汽车没有钥匙,因此钥匙不是属性——它是一个方法参数。但是这辆车确实有一把锁,能够验证给定的钥匙。参数和属性一起执行操作(或者,在本例中,验证操作)
对于这些属性,car类的每个实例可能具有不同的值


如果您需要特定的帮助来决定将哪些内容转换为属性,我们将需要有关您特定需求的更多信息。

根据“.”中的最佳答案,这几乎是您的选择。

我对这些事情的看法是,对象是真实对象(duh)的代码表示。上面的汽车例子很好。对于大多数真实对象,都有属性和动作。如果我们的对象是人,它将具有诸如姓名、身高、体重、头发颜色等属性。然后,我们的人就会有行动,比如跑、睡、吃

操作将是方法,属性将是属性。属性将在操作中使用,或者由程序的其他部分使用,这些部分需要检查对象的状态,即,程序的另一部分询问用户当前对象的高度

在大多数情况下,返回值和参数不是属性。一个值得注意的例外是用于实例化对象的参数,因为其他方法通常需要这些参数。就方法中使用的变量而言,如果这些变量定义了对象的整体状态,那么它们应该是属性。但是,如果您在方法中创建一个变量(如计数器),这只是实现方法目标所需要的,那么将其作为对象的属性是没有意义的

一开始,我会选择较少的财产。如果您需要一个属性来完成某件事情,那么就创建它。除非我有直接的需要,否则我不会创造它们。通过这种方式,您将开始了解对象逻辑运行所需的属性


我希望这有点道理。

我正在尝试构建一个用户类。下面是一个简单的例子。oops enter添加注释我如何将这些注释换行?您不需要。编辑您的问题并在其中添加信息。在本例中,不需要将查询设置为属性。获取用户数据后,如果以后需要,可能需要将这些数据作为属性