В C# это обычный набор свойств объекта во времени экземпляраКак установить значение свойства в экземпляре времени?
Как этот код
People p = new People(){Name = "John", Age = 18};
Есть какие-либо решения, как это в PHP?
В C# это обычный набор свойств объекта во времени экземпляраКак установить значение свойства в экземпляре времени?
Как этот код
People p = new People(){Name = "John", Age = 18};
Есть какие-либо решения, как это в PHP?
На данный момент, кроме normal constructor methods, нет, вы не можете сделать это в PHP. Тем не менее, есть RFC here и here для чего-то подобного, поэтому, возможно, в несколько версий он будет доступен.
Вы можете сделать как этот
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
Это работает, но я не хочу поместить его в параметры, потому что он может так долго чередовать список параметров, и ему нужно установить значения в последовательности – Lai32290
Чем вы можете использовать getter и setter php. документация находится здесь http://www.php.net/manual/en/language.oop5.overloading.php#object.get –
Это будет зависеть от конструкции этого класса, но вы можете использовать .
<?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
Вы можете передать их в конструктор, но гораздо лучше иметь геттеры и сеттеры. – BenM