Clockwork – это библиотека и расширение для браузера предоставляющие удобный интерфейс отладки производительности PHP кода.
Расскажу про свой опыт использования и сделаю небольшое сравнение с альтернативами.
Clockwork – это библиотека и расширение для браузера предоставляющие удобный интерфейс отладки производительности PHP кода.
Расскажу про свой опыт использования и сделаю небольшое сравнение с альтернативами.
Часто можно услышать фразу, что в PHP «объекты всегда передаются по ссылке». На самом деле всё немного сложнее.
https://www.php.net/manual/ru/language.oop5.references.php
Читать далее Объекты передаются по ссылке или нет?В прошлом выпуске Пятиминутки PHP я рассказал, как обновлял кодовую базу с помощью утилиты Rector. Одно из направлений – простановка типов. Типы в свойствах классов, типы в параметрах функций, типы возвращаемых значений.
Но на этом я не остановился. Следующий шаг – проставить declare(strict_types=1)
! Весь новый код, который я пишу по умолчанию идёт с declare(strict_types=1)
в начале файла, это легко настроить в шаблонах PhpStorm. Но так ли просто взять и обновить старые исходники?
Rector – это утилита для обновления кодовой базы PHP проекта под современные стандарты. И речь идёт не о PSR-12, а о более интересных преобразованиях, сейчас расскажу!
Расскажу про тикет JBR-745 о поддержке Metal в JetBrains Runtime, он же проект Lanai или JEP-382. Станут ли IDE от JetBrains отрисовываться со скоростью 300К FPS?
Видео, как я запускаю PhpStorm на Metal: https://youtu.be/T0CShIFwyRw
Ссылки по теме:
К 25-летию PHP — история развития языка в наглядной инфографике: https://www.jetbrains.com/lp/php-25/
В этом выпуске обдумаем стратегию аутентификации и поработаем над ссетевой игрой между двумя реальными игроками (раньше играть можно было только против компьютера), добавим режим наблюдателя, потренируемся в отладке с помощью Xdebug и используем функциональность lazy и poll в Livewire.
Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors
Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq
Продолжаем работу над игрой «Камень, ножницы, бумага».
В этом эпизоде добавим игровое лобби, таким образом приложение будет состоять из двух экранов: лобби и непосредсвенно игра. Обработку роутов приложения сделаем с помощью Livewire, такм образом переходы между экранами будут осуществляться в без перезагрузки страницы в стиле Signle Page Application.
Также научимся сохранять состояние игры в базу данных и загружать из базы при переходе на игру по прямой сслылке.
Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors
Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq
Продолжаем работу над игрой «Камень, ножницы, бумага».
В этом эпизоде займёмся проектированием структуры базы данных и мделаем это с помощью утилиты Laravel Schematics.
Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors
Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq
Продолжаем работу над игрой «Камень, ножницы, бумага» с использованием Laravel Livewire.
В этом эпизоде исправим дыру в безопасности и обсудим, на что стоит обращать внимание при работе с Livewire, чтобы не отдать лишние данные на клиент?
Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors
Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq