【问题标题】:What is the difference between a collection of functions and a class in PHP? [closed]PHP中的函数集合和类有什么区别? [关闭]
【发布时间】:2012-12-10 16:50:16
【问题描述】:

我想知道我可以在 PHP 文件中创建的函数集合与 PHP 类文件之间的区别?

【问题讨论】:

  • 类内的函数称为方法,类外它们只是函数^.^ 一堆函数有不同的目标,但在一个类中,它们主要用于一个目标。例如:phpmailer 类:mailing,form 类:构建表单等等。

标签: php class function


【解决方案1】:

出于实际目的,CLASS 是不同的,因为它可以被实例化。当它被实例化时,它将拥有自己独特的属性和值。

通过这种方式,您可以多次实例化同一个类,每个类都具有其独特的属性。

一个常见的例子是游戏中的角色;即你有一个名为enemy的类。您通过多次实例化该类来产生 5 个敌人。每个实例都有自己的属性、寿命、速度等...您可以单独访问每个实例并在其中运行调整其属性的方法。

【讨论】:

    【解决方案2】:

    类是可以实例化的数据和函数的集合(每个实例的数据集不同)。

    类是 OOP 的焦点,它们的存在是为了以对象为重点来组织代码。 OOP 比命令式编程更好地促进模块化。对于您的研究,最好查看this answer 来解决不同的问题以及其中包含的链接。

    【讨论】:

      【解决方案3】:

      在类构造中定义的函数称为方法,通常需要该类的实例才能工作(静态方法除外)。例如实例会在要使用的方法之间保持“共享”数据,封装对象的行为。

      函数的集合也可以做到这一点,例如fopen() 打开一个可以作为第一个参数传递给fread()fwrite() 等的流;可以使用流类进行类似的方法,例如:

      $f = new MyFile('filename');
      $f->read(10);
      $f->write('hello');
      

      相对于:

      $f = fopen('filename');
      fread($f, 10);
      fwrite($f, 'hello');
      

      【讨论】:

        【解决方案4】:

        函数集合只是函数的随机集合。一个类封装了特定的行为领域。

        例如,当您向一个类添加一个函数时,您应该想“这是正确且唯一的地方吗?”

        可以在 PHP 中编写符合这两个定义的 class - 但您应该以后者为目标。

        【讨论】:

          【解决方案5】:

          我认为您可以将 PHP 中函数和类之间的区别想象为 C 和 C++ 语言之间的区别。首先是 C,然后是 C++,作为其面向对象的版本。 PHP 也是如此,它最初是基于 C 制作的,作为 Web(个人主页)的简化 C,后来添加了 OOP 功能。但是 PHP 的美妙之处在于它的简单性,您可以在几分钟内创建一个全新的页面,而无需任何扎实的编程经验。在 PHP 中使用类会破坏这个目的,因为如果你只是开发一些相对简单的东西,它可能会矫枉过正。

          类非常适合图书馆。我建议你使用它们。这是一种更高级的编码风格:创建类意味着创建您自己的库,您可以将其用于不同的项目。只要确保你没有过度使用它们。并不是 PHP 中的所有东西都需要一个类,只是为了那些永远重复的功能。类为您的项目增加了灵活性和可扩展性。

          【讨论】:

            猜你喜欢
            • 2013-11-02
            • 1970-01-01
            • 1970-01-01
            • 2011-03-24
            • 2011-06-26
            • 1970-01-01
            • 1970-01-01
            • 2019-09-15
            • 2017-12-03
            相关资源
            最近更新 更多