调用构造

Call to a Construct

我有一个 class.php 和一个结构

<?php
class Fruit {
  public $name;
  public $color;

  function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  function get_name() {
    return $this->name;
  }
  function get_color() {
    return $this->color;
  }
}

在其他文件中当我想调用它时 以这种方式工作:

$apple1 = new Fruit("Apple", "red");
$apple2 = new Fruit("Apple", "yellow");

但我需要打电话:

$apple1 = new Fruit($name1, $color1);
$apple2 = new Fruit($name2, $color2);


$name1='Apple';
$color1= get_user_meta($user_id, 'color', true);
$name2='Apple';
$color2='yellow';

所有这些看起来都像是未定义的。我看到这不是正确的方法,但我该怎么做? 非常感谢!

您可以通过变量调用 __construct 但为此您必须在调用之前指定它们 正在创建新对象。

将代码更改为

$name1='Apple';
$name2='Apple';
$color2='yellow';
$apple1 = new Fruit($name1, $color1);
$apple2 = new Fruit($name2, $color2);
$color1= get_user_meta($user_id, 'color', true);