<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

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

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

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

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

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

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

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

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

Перечисляемые типы в PHP

Перечисляемые типы в PHP

Перечисляемый тип, для краткости enum, - это тип данных используемый для классификации именованных значений. Перечисления могут использоваться вместо жестко закодированных строк для представления, например, статуса сообщения в блоге структурированным и типизированным способом.

У PHP нет собственного типа enum. Он предлагает очень простую реализацию enum, но она, в большинстве случаев, нам не подходит.

Есть такой популярный пакет PHP под названием myclabs/php-enum, который как раз-то и позволяет использовать перечисляемые типы в PHP.

Но сначала, допустим у нас ест вот такой класс:

class Post
{
    public function setStatus(PostStatus $status): void
    {
        $this->status = $status;
    }
}

У класса Post есть метод, который устанавливает статус поста. Статус может быть только трех видов:черновик, опубликовано или заархивировано. И больше никакой другой! При использовании строк, ничто нам не гарантирует, что в строке содержится именно то, значение, которое нам необходимо. Поэтому надо найти другое решение и такое решение есть. С помощью библиотеки myclabs/php-enum мы можем сделать следующее:

class PostStatus extends Enum
{
    const DRAFT     = 'черновик';
    const PUBLISHED = 'опубликовано';
    const ARCHIVED  = 'архивировано';
}

И далее:

class PostStatus extends Enum
{
    private const DRAFT     = 'черновик';
    private const PUBLISHED = 'опубликовано';
    private const ARCHIVED  = 'архивировано';
}

$post->setStatus(PostStatus::DRAFT());

Внутри библиотеки за основную работу отвечает магический метод __callStatic(), который создает класс PostStatus со значением 'черновик' в нем. Благодоря чему мы можем точно знать, что значение пришедшее в метод является одним из трех заранее предустановленных значений.

Но пример выше не лишен недостатков: так как перечислений в самом PHP нет, то "магия", которая работает за сценой, не дает среде разработки нормально выводить типы, обеспечивать автодополнение. Пример ниже подобных недостатков лишен, да к тому же, в нем меньше кода. А все благодоря документированным комментариям.

/ **
 * @method static self DRAFT()
 * @method static self PUBLISHED()
 * @method static self ARCHIVED()
 * /
class PostStatus extends Enum
{
}

Итак, вот таким образом можно использовать перечисляемые типы в Ваших web-приложених для повышения их гибкости.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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