Полный цикл в 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>";
    }
};
// Hello, Bob
echo "Hello, " . $person->name . "<br>"; 

При этом вызов конструктора идет сразу после ключевого слова 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.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг