Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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 OOP,类中的良好实践_Php_Oop - Fatal编程技术网

PHP OOP,类中的良好实践

PHP OOP,类中的良好实践,php,oop,Php,Oop,我刚刚开始学习PHP类,我的方法到处都是 基本上,当我需要一个新方法时,我会在类的底部添加它 现在,找到我以后需要编辑的内容是一件非常痛苦的事情,对于将公共、私有、静态和访问器方法放在哪里,有什么“好的实践”吗?没有一成不变的指导方针。这基本上可以归结为你自己的喜好。唯一需要确保的是,在自己的代码库中保持一致 无论如何,为了回答你的问题,我会给你我自己的个人风格,你可以从中获得灵感,或者从中获得灵感 在第一部分中,我定义了属性。首先是类的常量,然后是静态属性,然后是公共属性、受保护属性和私有属性

我刚刚开始学习PHP类,我的方法到处都是

基本上,当我需要一个新方法时,我会在类的底部添加它


现在,找到我以后需要编辑的内容是一件非常痛苦的事情,对于将公共、私有、静态和访问器方法放在哪里,有什么“好的实践”吗?

没有一成不变的指导方针。这基本上可以归结为你自己的喜好。唯一需要确保的是,在自己的代码库中保持一致

无论如何,为了回答你的问题,我会给你我自己的个人风格,你可以从中获得灵感,或者从中获得灵感

在第一部分中,我定义了属性。首先是类的常量,然后是静态属性,然后是公共属性、受保护属性和私有属性

在第二部分中,我介绍了类的方法,它们遵循与前面的属性相同的模式:首先是静态的,然后是公共的、受保护的和私有的

我通常将getter和setter(如果可用)放在其他公共方法之上

此外,我通常优先考虑从接口和父类继承/实现的方法


但是,这只是我自己的指导方针。

没有一成不变的指导方针。这基本上可以归结为你自己的喜好。唯一需要确保的是,在自己的代码库中保持一致

无论如何,为了回答你的问题,我会给你我自己的个人风格,你可以从中获得灵感,或者从中获得灵感

在第一部分中,我定义了属性。首先是类的常量,然后是静态属性,然后是公共属性、受保护属性和私有属性

在第二部分中,我介绍了类的方法,它们遵循与前面的属性相同的模式:首先是静态的,然后是公共的、受保护的和私有的

我通常将getter和setter(如果可用)放在其他公共方法之上

此外,我通常优先考虑从接口和父类继承/实现的方法


但是,这只是我自己的指南。

在大多数代码中,我看到以下结构(从上到下):

  • 字段(按可见性排序)
  • 构造函数和析构函数
  • 方法(再次按可见性排序,公共优先,保护优先,私有优先)
  • 但您也可以改进此结构,例如将getter/setter放在公共方法的顶部或底部。另一种方法是按照复杂程度对私有方法进行排序(底部有更多神奇的方法),或者可以按字母顺序对具有相同可见性的字段和方法进行排序。就我个人而言,我也更喜欢把静态变量放在第一位


    当然,每个人都会有自己的风格,不会有“最佳”风格,但一般来说,最好有一个结构,不要把任何东西放在任何地方。

    在大多数代码中,我看到以下结构(从上到下):

  • 字段(按可见性排序)
  • 构造函数和析构函数
  • 方法(再次按可见性排序,公共优先,保护优先,私有优先)
  • 但您也可以改进此结构,例如将getter/setter放在公共方法的顶部或底部。另一种方法是按照复杂程度对私有方法进行排序(底部有更多神奇的方法),或者可以按字母顺序对具有相同可见性的字段和方法进行排序。就我个人而言,我也更喜欢把静态变量放在第一位


    当然,每个人都会有自己的风格,不会有“最好”的风格,但总的来说,最好有一个结构,不要把任何东西放在任何地方。

    我总是把相互关联的方法放在一起。虽然这是一个好问题,但并不适合,因为没有绝对正确的答案,而且非常主观。就我个人而言,我总是对类成员进行分组(例如,
    属性
    获取者
    设置者
    帮助者
    ,等等),并在评论中提到这一分组。因此,当我需要编辑
    getter
    时,我会搜索
    getter
    注释并开始编辑。我不在乎它们是如何排序的,因为几乎所有好的IDE都有你的类的大纲,在那里你可以很容易地找到成员。好问题。就我个人而言,我只想到过按字母顺序排列,getter和setter在顶部,所以我很想看到一些答案,保持类中方法中属性的数量较低,并应用可靠的原则hanks伙计们!马克,将查找坚实的原则。。。Rikesh,有时候有些方法与其他方法相关。。。公共小巴,谢谢!我总是把相互关联的方法放在一起。虽然这是一个好问题,但它并不适合,因为没有绝对正确的答案,而且非常主观。就我个人而言,我总是对类成员进行分组(例如,
    属性
    获取者
    设置者
    帮助者
    ,等等),并在评论中提到这一分组。因此,当我需要编辑
    getter
    时,我会搜索
    getter
    注释并开始编辑。我不在乎它们是如何排序的,因为几乎所有好的IDE都有你的类的大纲,在那里你可以很容易地找到成员。好问题。就我个人而言,我只想到过按字母顺序排列,getter和setter在顶部,所以我很想看到一些答案,保持类中方法中属性的数量较低,并应用可靠的原则hanks伙计们!马克,将查找坚实的原则。。。Rikesh,有时候有些方法与其他方法相关。。。公共小巴,谢谢!谢谢回复!这些是一些很棒的建议!谢谢回复!这些是一些很棒的建议!谢谢你的回复和提示。我会选择你的答案,因为我会比伯恩哈德多一点使用你的技巧/结构。谢谢谢谢你的回复和提示。我会选择你的答案,因为我会比伯恩哈德多一点使用你的技巧/结构。感谢