Пятиминутка PHP
2.87K subscribers
334 photos
26 videos
826 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
5minphp Just tweeted ********************************************** PHPFest. 23-24 октября 2020. Онлайн. Пока есть только телеграм канал и можно подать заявку на доклад: https://t.co/u73l5aBlK7
Forwarded from ElisDN.ru
Ничто не предвещало, но неожиданно появилась возможность сходить на онлайн-интервью MoreView с Антоном Моревым. Поэтому приглашаем вас в гости завтра вечером.

Обсудим PHP, JS, etc. и ошеломительное человеческое стремление к прекрасному. Поговорим о подходах к разработке, важности качества проектов и о вариантах архитектуры.

Наверняка у кого-то из вас припасена пара каверзных вопросов. Приходите на прямой эфир, и там мы вместе с вами развернём горячую дискуссию. И кто-то из вас по традиции сможет выиграть пиццу:

https://elisdn.ru/blog/138/interview-moreview
​​Rector – это утилита для обновления кодовой базы PHP проекта под современные стандарты. И речь идёт не о PSR-12, а о более интересных преобразованиях, сейчас расскажу!
Rector
Пятиминутка PHP
Rector – это утилита для обновления кодовой базы PHP проекта под современные стандарты. И речь идёт не о PSR-12, а о более интересных преобразованиях, сейчас расскажу!

https://github.com/rectorphp/rector
По умолчанию PHP пытается привести значения несоответствующих типов к скалярному типу, если это возможно. Например, если в функцию передается целое число (int), а тип аргумента объявлен как строка (string), в итоге функция получит преобразованное в строку (string) значение.
Для отдельных файлов можно включать режим строгой типизации. В этом режиме в функцию можно передавать значения только тех типов, которые объявлены для аргументов. В противном случае будет выбрасываться исключение
TypeError. Есть лишь одно исключение — целое число (int) можно передать в функцию, которая ожидает значение типа float.
declare(strict_types=1)
Пятиминутка PHP
Проставить declare(strict_types=1) во все файлы! Так ли просто взять и обновить старые исходники? Рассказываю про свои приключения!
Часто можно услышать фразу, что в PHP «объекты всегда передаются по ссылке». На самом деле всё немного сложнее.

Передавая переменную в качестве аргумента внутрь функции, мы передаём значение этого идентификатора, т.е. передача происходит по значению. Важно понимать, что значением является не сам объект, а его идентификатор.

Таким образом снаружи функции и внутри мы, имея одинаковое значение идентификатора объекта, работаем с одним и тем же объектом.
Объекты передаются по ссылке или нет?
Пятиминутка PHP
Часто можно услышать фразу, что в PHP «объекты всегда передаются по ссылке». На самом деле всё немного сложнее.
Наткнулся на интересную заметку Никиты Попова 10-летней давности: "Operator precedence and associativity specify grouping, but they do not specify in which order the groups are executed. PHP does NOT specify what will actually happen."

Пример:
$a + $b + $c * $d
Применяем приоритет операций:
$a + $b + ($c * $d)
Теперь левую ассоциативность сложения:
($a + $b) + ($c * $d)

Вопрос: какая группа будет вычислена раньше?

Ответ Никиты: "PHP does NOT specify what will actually happen... 🤷‍♂️ One version of PHP can give you one result and a different version another. Don't write code that depends on some particular evaluation order."

Я, честно говоря, думал что всегда слева направо (и практика подтверждает), но правильный ответ: "не стоит полагаться на порядок!" - PHP для анархистов!
Forwarded from PHP Russia Channel
🔥Конференция PHP Russia и компания Skyeng организуют дискуссионный стрим.

PHP-разработчики часто учат Go как «второй язык», порой продолжая писать на нем, как на PHP. 15 августа возьмем реальный код двух типовых приложений и разберем, где и правда стоит переключиться на новый, а где – выбрать старый-добрый.

На youtube-трансляцию в 11:00 МСК придут:

✏️ Елена Граховац (GetYourGuide)
✏️ Илья Шихалеев (iSpring)
✏️ Александр Макаров (Yii)
✏️ Руслан Ханов (ИТМО)

Рассмотрим код двух типовых приложений: на PHP и на Go. А затем обсудим примеры 8–10 сервисов, где опытные разработчики сознательно отказались бы от языка, на котором обычно привыкли писать.

Модератором дискуссии выступит Антон Морев (WormSoft). Будет возможность задать вопросы голосом (достаточно браузера и микрофона) и продолжить общение в Zoom.

Присоединяйтесь по ссылке 👉 youtube.com/watch?v=6AhJWUTGHTo
Forwarded from devSchachtChannel (Andrey Melikhov)
Хакатон помощи беларусам https://eventornado.com/event/build-for-belarus
Обеспечение безопасных решение для коммуникации, безопасности, здоровья и поддержки тех, кто может пострадать.
Пройдёт полностью онлайн.
Audio
Когда код вырывается наружу
Forwarded from DevOpsConf Channel
Пройдите опрос о состоянии DevOps в России!

31 августа — последний день
, когда можно будет пройти опрос о состоянии DevOps в России. Мы призываем вас найти полчаса, чтобы ответить на вопросы и рассказать, как DevOps-трансформация проходит в вашей компании.

🟡 Участвовать могут IT-специалисты любых компаний любого размера: инженеры, разработчики, тимлиды, CTO. Нам интересно посмотреть какие компании практикуют DevOps. Мы ждем ответы от каждого, кто знает слово DevOps — участвуйте!

🟡 Зачем это нужно?

Тимур Батыршин
и Андрей Шорин провели мини-исследование и выяснили, что скорость экспериментов определяет успех как стартапа, так и бизнеса со зрелым продуктом, что подтверждает важность DevOps для бизнеса. Своим исследованием мы копнем глубже:

🔸увидим срез индустрии на 2020 год;
🔸поймём, помогли ли инженерные практики пережить пандемию;
🔸узнаем, отличается ли DevOps в России и на Западе;
🔸наметим зоны развития.

Опрос анонимный 👉 ru.surveymonkey.com/r/VQZRLN6

Но вы можете оставить адрес электронной почты для связи, если хотите принять учаcтие в лотерее: среди прошедших опрос разыграем 1 билет на конференцию Highload++, 5 билетов на конференцию DevOps Live и 30 книг по DevOps.
Forwarded from Пых
Используете ли вы условия Йоды?
Anonymous Poll
32%
да
68%
нет
Интересные активности на Russian Python Week: батлы Python vs Go и Python vs PHP. В последнем выступят Алексей Фирсов (aiopg) и Александр Макаров (Yii)! Трансляция 15 сентября в 17:00, нужно зарегистрироваться на открытую часть конференции: https://conf.python.ru/moscow/2020#free