2013-12-10 6 views
0

В C# это обычный набор свойств объекта во времени экземпляраКак установить значение свойства в экземпляре времени?

Как этот код

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

Есть какие-либо решения, как это в PHP?

+0

Вы можете передать их в конструктор, но гораздо лучше иметь геттеры и сеттеры. – BenM

ответ

1

На данный момент, кроме normal constructor methods, нет, вы не можете сделать это в PHP. Тем не менее, есть RFC here и here для чего-то подобного, поэтому, возможно, в несколько версий он будет доступен.

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

+0

Это работает, но я не хочу поместить его в параметры, потому что он может так долго чередовать список параметров, и ему нужно установить значения в последовательности – Lai32290

+0

Чем вы можете использовать getter и setter php. документация находится здесь http://www.php.net/manual/en/language.oop5.overloading.php#object.get –

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 
Смежные вопросы