如何在实例时间设置属性值?

时间:2013-12-10 13:54:14

标签: php oop

在C#中,实例时通常设置对象属性

喜欢这段代码

People p = new People(){Name = "John", Age = 18};

在PHP中有这样的解决方案吗?

3 个答案:

答案 0 :(得分:2)

你可以这样做

class People() {
 public $name = "";
 public $age = "";
 public function __construct($name,$age) {
   $this->name = $name;
   $this->age = $age;
 }
}

$obj = new People("John", 18);

有关详细信息,请访问:http://php.net/manual/en/language.oop5.php

答案 1 :(得分:1)

目前,除了normal constructor methods之外,没有,你不能用PHP做到这一点。但是,有类似于此的RFC herehere,因此可能在几个版本的时间内可用。

答案 2 :(得分:1)

这取决于课程的构建,但你可以这样做。

<?php
class Person {
    public function __construct(array $params = array()) {
        foreach ($params as $property => $value) {
            $this->{$property} = $value;
        }
    }
}

$p = new Person(array('Name' => 'Bob', 'Age' => 18));
echo $p->Age; //18