<MyRusakov.ru />

Профессиональная Web-разработка. Дизайн, код и автоматизация

Профессиональная Web-разработка. Дизайн, код и автоматизация

Это очень подробный курс из разряда "всё включено". Разбираются следующие темы: HTML, CSS, SCSS, JavaScript, PHP, SQL, Laravel, Nginx, PostCSS, npm, Vite, Vitest, Composer, PHPUnit, Prettier, Stylelint, ESLint, Pint, Larastan, Git, Agile, Scrum, Docker, Supervisord, Figma, Stitch AI, Confluence, Jira.

Рассчитан и на новичков, и на тех, кто уже знаком с основами, но хочет освоить полный цикл разработки.

Помимо самой теории, Вы увидите пример создания Web-проекта на 20 000 строк кода: от идеи и документации на Confluence через планирование на Jira, fullstack-разработку до деплоя на VPS.

Помимо уроков, курс содержит упражнения для закрепления знаний и финальное тестирование. А ещё Вы получите 5 полноценных Бонусных курсов: «GitLab под ключ», «Вёрстка сайта с нуля 2.0», «JavaScript с Нуля до Гуру 2.0», «PHP и MySQL с Нуля до Гуру 3.0» и «Laravel от А до Я».

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Constructor property promotion в PHP

Constructor property promotion в PHP

Доброго времени суток!

Constructor Property Promotion (Продвижение Свойств в Конструкторе) - это нововведение в PHP 8, которое значительно упрощает написание классов, позволяя определять их свойства прямо в сигнатуре конструктора. Это уменьшает объем необходимого кода и делает его более читаемым. Давайте рассмотрим на примере.

Как было до PHP 8

class User {
    public string $name;
    public string $email;
    public ?int $age;

    public function __construct(string $name, string $email, ?int $age = null) {
        $this->name = $name;
        $this->email = $email;
        $this->age = $age;
    }
}

В этом примере мы должны явно объявить свойства класса User перед определением конструктора, а затем внутри конструктора мы снова должны присвоить значения этим свойствам.

Стало в PHP 8

class User {
    public function __construct(
        public string $name,
        public string $email,
        public ?int $age = null,
    ) {}
}

В PHP 8 мы можем определить свойства напрямую в сигнатуре конструктора, что делает код более компактным и понятным. Здесь не нужно повторно объявлять свойства в теле конструктора, они автоматически создаются и инициализируются значениями, переданными при создании объекта.

Преимущества использования конструктора Property Promotion очевидны:

  1. Краткость кода: Значительно уменьшается количество строк кода, что делает его более лаконичным и удобным для чтения и поддержки.
  2. Удобство: Нет необходимости явно присваивать значения свойствам внутри конструктора, они инициализируются автоматически.
  3. Ясность: Свойства класса теперь определяются непосредственно в месте, где они используются, что делает структуру класса более ясной и легкой для понимания.
$user1 = new User("John Doe", "john@myrusakov.ru");
$user2 = new User("Jane Doe", "jane@myrusakov.ru", 30);

Оба этих объекта созданы с использованием конструктора Property Promotion. При создании объекта мы передаем только обязательные параметры ($name и $email), а для $age используется значение по умолчанию. Это значительно сокращает количество кода и делает его более эффективным.

Таким образом, использование Constructor Property Promotion в PHP 8 делает код более компактным, читаемым и удобным для поддержки, что является значимым улучшением в разработке программного обеспечения.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

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

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.