Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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,我是oop新手,我试图了解在类中放置代码的适当位置。据我所知,您可以将代码放在三个主要方面: 在类的开头(例如在 类级别(构造函数或方法之外) 在构造函数中 在方法中 就每一节中应该包含的代码类型而言,协议是什么?由您决定。不同的模式/设计标准规定了不同的方法。通常,构造函数只“请求”对象所必需的东西(如数据库连接),并将其存储在对象的属性中。在任何情况下,您都希望使构造函数尽可能小且灵活—您永远不知道将来可能以何种方式使用对象!因此,例如,虽然此时在构造函数中从数据库加载一些数据似乎是个好

我是oop新手,我试图了解在类中放置代码的适当位置。据我所知,您可以将代码放在三个主要方面:

  • 在类的开头(例如在 类级别(构造函数或方法之外)
  • 在构造函数中
  • 在方法中

就每一节中应该包含的代码类型而言,协议是什么?

由您决定。不同的模式/设计标准规定了不同的方法。通常,构造函数只“请求”对象所必需的东西(如数据库连接),并将其存储在对象的属性中。在任何情况下,您都希望使构造函数尽可能小且灵活—您永远不知道将来可能以何种方式使用对象!因此,例如,虽然此时在构造函数中从数据库加载一些数据似乎是个好主意,但通常最好将这些类型的内容放在方法中,以便以后可以随意跳过它们。

这取决于您。不同的模式/设计标准规定了不同的方法。通常,构造函数只“请求”对象所必需的东西(如数据库连接),并将其存储在对象的属性中。在任何情况下,您都希望使构造函数尽可能小且灵活—您永远不知道将来可能以何种方式使用对象!因此,例如,虽然此时在构造函数中从数据库加载一些数据似乎是个好主意,但通常最好将这些类型的内容放在方法中,以便以后可以随意跳过它们。

  • 属性只能直接定义
    静态
    常量
    值。其他值可以在构造函数/方法中定义
  • 构造函数应该只定义类/对象正常工作所需的值(也可以从构造函数调用方法)
  • 方法可以定义其他任何东西
  • 还有一个析构函数
      • 属性只能直接定义
        静态
        常量
        值。其他值可以在构造函数/方法中定义
      • 构造函数应该只定义类/对象正常工作所需的值(也可以从构造函数调用方法)
      • 方法可以定义其他任何东西
      • 还有一个析构函数

      不能将代码放入属性声明中。所以不要把代码放在那里。@mario实际上这是一个很好的评论。我最近发布了一个关于出错的问题,因为我试图在属性声明中编写一些代码,但只有一个人明确表示我不能这样做……你不能在属性声明中添加代码。所以不要把代码放在那里。@mario实际上这是一个很好的评论。我最近发布了一个关于出错的问题,因为我试图在属性声明中编写一些代码,只有一个人明确表示我不能这样做。。。