<rmcreative>

RSS

Все заметки с тегом «PHP»

Можно уточнить:

  1. Microsoft, Windows и PHP

    14 июля 2020

    iXBT опубликовали новость "Microsoft прекращает поддержку PHP в Windows".

    Компания Microsoft объявила о том, что она собирается прекратить поддержку PHP в своей операционной системе Windows.

    На самом деле всё не так:

    1. Microsoft многие годы оплачивали фуллтайм-работу по поддержке Windows в PHP. Изначально они объявили что делают это для версий 7.x. К PHP 8 это не относилось.
    2. В самой операционной системе Windows ничего не меняется. Ну разве что WSL 2 добавили, но на запуск php.exe это не влияет никак.
    3. Для версий PHP меньше 8-ки ничего не меняется. Будут официальные билды.
    4. Для 8-ки команда из Microsoft билдов делать не будет. Скорее всего потому как можно нормально запускать PHP из WSL 2. Но, на самом деле, никто не мешает собрать билд самому. Плюс не факт, что их место никто не займёт. Например, Jan-E из Apache Lounge. Команда из Microsoft готова передать дела.
    Комментировать
  2. Короткие теги в PHP

    10 июня 2020

    Почти десять лет назад я писал про короткие теги и радовался включению короткого echo по умолчанию.

    Сегодня меня спросили, что я думаю по поводу использования коротких тегов.

    Их осталось на данный момент в PHP 7.4 два вида:

    • <? - короткая форма <?php. Включается через short_open_tag в php.ini.
    • <?= - короткая форма <?php echo. Доступна всегда.

    Если с <?= всё ясно, тег доступен всегда и удобен при использовании в шаблонах, то с <? не всё так просто.

    В PHP 7.4 его хотели убрать и почти убрали после положительного голосования за RFC. Но в итоге сначала предложили сделать это по-другому, а потом и вовсе не делать.

    В результате в PHP 7.4 теги работают как и ранее. В PHP 8 тоже (но не факт, что так будет в релизе).

    Стоит ли использовать <? - вопрос неоднозначный. Если у вас проект, который разворачивается только на ваши сервера, вы контролируете php.ini и никогда не забываете short_open_tag = On, то технически ничего ужасного в использовании коротких тегов нет. Если же вы делаете продукт, который можно поставить на свой сервер, такой как CMS или фреймворк, то использовать <? - плохая идея. Часть пользователей обязательно попробует развернуть ваш продукт в окружении, где у них нет возможности поправить php.ini.

    8 комментариев
  3. 25 лет PHP

    8 июня 2020

    8 июня 1995 года, программист родом из Гренландии Расмус Лердорф публикует в usenet анонс набора CGI-скриптов, который он назвал PHP Tools.

    Иногда говорят, что первые версии PHP были написаны на Perl. Это, конечно же, неправда.

    Главные факты и события из 25 лет истории PHP смотрите в таймлайне.

    Заревьювить и дополнить его помогли непосредственные участники событий: Andi Gutmans, Derick Rethans, Peter Kokot, Александр Макаров, Дмитрий Стогов и другие.

    Еще 27 мая исполнилось 10 лет PhpStorm. Чтоб отметить сразу два дня рождения делаем скидку 50% на персональную годовую подписку.

    С днем рождения PHP!

    Комментировать
  4. PHP Mentors

    20 апреля 2020

    В ноябре 2018-го года мне написал Flávio Silveira. У него была идея собрать книгу с ответами на одни и те же вопросы от видных в сообществе PHP людей. В итоге всё получилось: 55 человек, 17 вопросов.

    Сайт книги

    Комментировать
  5. PHP: return в finally

    4 марта 2020

    function test()
    {
        try {
            throw new \RuntimeException('try');
        } catch (\RuntimeException $e) {
            throw new \RuntimeException('catch');
        }
        finally {
            return 'finally';
        }
    }
     
    echo test();

    return в finally - штука опасная. Он тихо проигнорирует все исключения.

    3 комментария
  6. Как узнать, равны ли два float в PHP

    6 декабря 2019

    Тип float не отличается точностью, страдают от ошибок округления и сравнивать как обычно их нельзя. Почему так отлично написано на специальном сайте floating-point-gui.de.

    В PHP узнать, равны ли два float и не нарваться на ошибки можно так:

    $equal = \abs($a - $b) < PHP_FLOAT_EPSILON;

    PHP_FLOAT_EPSILONмашинный ноль для PHP.

    Для PHP < 7.2 можно в качестве epsilon использовать 0.0001.

    9 комментариев
  7. PHP 7.4

    28 ноября 2019

    Увидела свет новая версия PHP.

    Самое важное для меня:

    • Производительность увеличилась.
    • Типизация свойств. Потенциально хорошая штука для простых DTO.
    • Ковариантность возвращаемого типа и типа аргументов. Очень полезно для типизированных коллекций и реализации PSR с добавлением дополнительной типизации.
    • Возможность бросать исключения в __toString(). Точно упростит обработчик ошибок в Yii 3 и очень важно для реализации виджетов.
    • preload. Потенциально интересно.
    3 комментария
  8. Немного видео с PHP Russia

    7 июня 2019

    Комментировать
  9. PHP Russia, отчёт

    30 мая 2019

    В Москве 17 мая прошла конференция PHP Russia.

    Организовываю конференции я не в первый раз, до этого были две YiiConf, техническая секция РИФ-а и участие в программных комитетах РИТ и Highload.

    Читаем

    Комментировать
  10. switch(true)

    5 апреля 2019

    Не так часто встречаю использование switch(true) в коде:

    switch(true)
    {
      case $this->isExpired($product):
        // ...
        break;
      case $this->isFinal($product):
        // ...
        break;
      default:
        // ...
        break;
    }

    Это эквивалент следующего:

    if ($this->isExpired($product)) {
        // ...
    } elseif ($this->isFinal($product)) {
        // ...
    } else {
        // ...
    }

    Какой из вариантов вам приятней читать?

    14 комментариев