В ноябре 2018-го года мне написал Flávio Silveira. У него была идея собрать книгу с ответами на одни и те же вопросы от видных в сообществе PHP людей. В итоге всё получилось: 55 человек, 17 вопросов.
Все заметки с тегом «PHP»
-
PHP Mentors
20 апреля 2020
-
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
- штука опасная. Он тихо проигнорирует все исключения. -
Как узнать, равны ли два 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.
-
PHP 7.4
28 ноября 2019
Увидела свет новая версия PHP.
Самое важное для меня:
- Производительность увеличилась.
- Типизация свойств. Потенциально хорошая штука для простых DTO.
- Ковариантность возвращаемого типа и типа аргументов. Очень полезно для типизированных коллекций и реализации PSR с добавлением дополнительной типизации.
- Возможность бросать исключения в
__toString()
. Точно упростит обработчик ошибок в Yii 3 и очень важно для реализации виджетов. - preload. Потенциально интересно.
-
Немного видео с PHP Russia
7 июня 2019
Вот и первые видео с PHP Russia в отличном качестве приехали.
- Самое интересное в PHP 8 / Дмитрий Стогов (Zend Technologies)
- Typed Properties and more: What’s coming in PHP 7.4? / Nikita Popov (JetBrains)
- Школа магии PHP / Александр Лисаченко (Альпари)
- Производительность PHP: планируем, профилируем, оптимизируем / Павел Мурзаков (Badoo)
- Разработка гибридных PHP/Go-приложений с использованием RoadRunner / Антон Титов (SpiralScout LLC)
-
PHP Russia, отчёт
30 мая 2019
В Москве 17 мая прошла конференция PHP Russia.
Организовываю конференции я не в первый раз, до этого были две YiiConf, техническая секция РИФ-а и участие в программных комитетах РИТ и Highload.
-
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 { // ... }
Какой из вариантов вам приятней читать?
-
Неделя backendsecret, часть 2
5 апреля 2019
Продолжаю публиковать интересное из недели backendsecret.
-
Про PHP Russia на хабре
28 марта 2019
Опубликовали рассказ про PHP Russia на хабре.
Собрать масштабную крепкую конференцию не так просто, но у нас всё получается. Одобренные доклады сильные. Те, что пока ожидают одобрения — тоже. Не так просто выбрать.
Сильно удивили англоязычные докладчики, которые подали 83 заявки. В России для таких цифр ещё нужно дорасти...
-
cURL error 60
7 марта 2019
В PHP ошибка "cURL error 60: SSL certificate problem: unable to get local issuer certificate" лечится очень просто.
- Сливаем https://curl.haxx.se/ca/cacert.pem.
- В php.ini добавляем
curl.cainfo="/путь/до/cacert.pem"
.