Полный цикл в digital

Анонимные классы

Анонимные классы - это классы, которые не имеют имени. Обычно такие классы полезны, если нам необходимо один раз создать объект подобного класса. И больше этот класс не будет использоваться:

$person = new class {};

Для определения переменной аонимного класса, как в случае с обычным классом применяется оператор new, после которого идет ключевое слово class и затем - тело класса в фигурных скобках.

Анонимные классы, как и обычные классы могут определять свойства и методы:

<?
$person = new class {
public $name;
function sayHello() {
echo "Hello!<br>";
}
};
$person->sayHello();
$person -> name = "Sam";
echo "Name: " . $person -> name . "<br>";
Hello!
Name: Sam

Также анонимные классы могут определять конструкторы:

<?
$person = new class("Bob") {
public $name;
function __construct($name) {
$this->name = $name;
}
function sayHello() {
echo "Hello!<br>";
}
};
echo "Hello, " . $person -> name . "<br>"; // Hello, Bob

При этом вызов конструктора идет сразу после ключевого слова class до открывающей фигурной скобки: new class("Bob").

Подобным образом можно определять свойства сразу в конструкторе, сократив тем самым определение класса:

<?
$person = new class("Bob", 34) {
function __construct(public $name, public $age) {
$this->name = $name;
}
function displayInfo() {
echo "Name: $this->name; Age: $this->age<br>";
}
};
$person -> displayInfo();
Name: Bob; Age: 34
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг