Php 对构造的调用

Php 对构造的调用,php,class,construct,Php,Class,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_co

我有一个带有构造的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($name1, $color1);
$apple2 = new Fruit($name2, $color2);


$name1='Apple';
$color1= get_user_meta($user_id, 'color', true);
$name2='Apple';
$color2='yellow';
所有这些似乎都是未定义的。我知道这不是正确的方法,但我怎么能做到呢?
非常感谢

您可以通过变量调用
\u构造
,但为此,您必须在调用之前指定它们 创建新对象

将代码更改为

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


在调用中使用
$name1、
$name2、
实例化新对象之前,是否设置了它们的值?无法复制:除非您按照问题中显示的顺序进行操作,这显然是错误的顺序
$name1='Apple';
$name2='Apple';
$color2='yellow';
$apple1 = new Fruit($name1, $color1);
$apple2 = new Fruit($name2, $color2);
$color1= get_user_meta($user_id, 'color', true);