PHP 类::为什么声明为新的?

标签 php function class variables object

<分区>

我是 php 类的新手,我想知道为什么我需要将它声明为一个变量并将其设置为新的?

这是一个例子:

class myFirstClass {
    function Version(){
        return 'Version 1';
    }
    function Info(){
        return 'This class is doing nothing';
    }
}

$hola = new myFirstClass;

echo $hola->Version();

为什么如果不将其声明为变量并将其设置为 NEW 就无法工作?

换句话说......没有这一行:

$hola = new myFirstClass;

我已经习惯了函数,所以它看起来很奇怪......

最佳答案

这是面向对象编程 (OOP) 的基本原则。让我们以图书馆系统为例。如果你想得到一本书的名字,你不能只说“给我书名”,你必须知道是什么书(通过 id,作者,等等)。

在函数中,你可以这样写:

function get_book($id){ // code }

在 OOP 中,它并不是那样工作的。你有一本记着名字的课本。但该名称仅适用于该给定的书。

class Book {
  var $name;
  public __construct($name) {
    $this->name = $name;
  }

  public function getName() {
    return $this->name;
  }
}

为了调用getName() 函数,我们需要有一本书。这就是 new 所做的。

$book = new Book("my title");

现在,如果我们在 $book 上使用 getName() 函数,我们将获得书名。

$book->getName(); // returns "my title"

希望对您有所帮助。

关于PHP 类::为什么声明为新的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748791/

相关文章:

php - 从单个数组创建多维数组

mysql - 如何在 MYSQL 过程中声明变量

php - PHP 变量/函数/类名的最大长度是多少?

c++ - 相同类型的类成员之间的填充总是相同的吗?

php - Apache 无法在 Mojave 上加载 PHP 扩展

php - 在mysql中加入2个字段同时搜索

php - Paypal 加密网站支付

c - 如何将函数的定义传递给其他函数,以便其他函数在 C 语言中调用它?

R从ctree(partykit)中提取内部节点信息和拆分

c# - 在一个类中声明太多方法会使它变大吗?