Clockwork — отладочная панель для PHP

Clockwork – это библиотека и расширение для браузера предоставляющие удобный интерфейс отладки производительности PHP кода. Расскажу про свой опыт использования и сделаю небольшое сравнение с альтернативами. Как это работает? Сначала устанавливаем библиотеку Clockwork с помощью composer в текущий проект: composer require itsgoingd/clockwork Затем инициализируем где-то в начале жизненного цикла нашего приложения. Есть готовые интеграции для …

ПодробнееClockwork — отладочная панель для PHP

Объекты передаются по ссылке или нет?

Пятиминутка PHP · Объекты по ссылке или по значению? Часто можно услышать фразу, что в PHP «объекты всегда передаются по ссылке». На самом деле всё немного сложнее. https://www.php.net/manual/ru/language.oop5.references.php Как выглядит работа с ссылками в PHP? Для этого используется специальный синтаксис – перед именем переменной или параметра функции ставится символ амперсанда (&). В том случае, когда …

ПодробнееОбъекты передаются по ссылке или нет?

declare(strict_types=1)

Пятиминутка PHP · declare(strict_types=1) В прошлом выпуске Пятиминутки PHP я рассказал, как обновлял кодовую базу с помощью утилиты Rector. Одно из направлений – простановка типов. Типы в свойствах классов, типы в параметрах функций, типы возвращаемых значений. Но на этом я не остановился. Следующий шаг – проставить declare(strict_types=1)! Весь новый код, который я пишу по умолчанию …

Подробнееdeclare(strict_types=1)

Rector

Пятиминутка PHP · Rector Rector – это утилита для обновления кодовой базы PHP проекта под современные стандарты. И речь идёт не о PSR-12, а о более интересных преобразованиях, сейчас расскажу! Представьте, что мы хотим добавить больше типизации в код, например, проставить типы возвращаемых из функций значений. Если код написан более-менее прямолинейно и без лишней магии, …

ПодробнееRector

PhpStorm на macOS Metal

Пятиминутка PHP · PhpStorm на macOS Metal Расскажу про тикет JBR-745 о поддержке Metal в JetBrains Runtime, он же проект Lanai или JEP-382. Станут ли IDE от JetBrains отрисовываться со скоростью 300К FPS? Видео, как я запускаю PhpStorm на Metal: https://youtu.be/T0CShIFwyRw Ссылки по теме: https://youtrack.jetbrains.com/issue/JBR-745 https://en.wikipedia.org/wiki/Metal_(API) https://wiki.openjdk.java.net/display/lanai https://openjdk.java.net/jeps/382 https://www.jetbrains.com/help/idea/switching-boot-jdk.html https://www.infoworld.com/article/3408638/macos-targeted-for-new-java-graphics-pipeline.html Источник: 5minphp.ru  

Laravel Livewire — сетевая игра (часть 5)

В этом выпуске обдумаем стратегию аутентификации и поработаем над ссетевой игрой между двумя реальными игроками (раньше играть можно было только против компьютера), добавим режим наблюдателя, потренируемся в отладке с помощью Xdebug и используем функциональность lazy и poll в Livewire. Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq Источник: 5minphp.ru  

Laravel Livewire — SPA & Turbolinks (часть 4)

Продолжаем работу над игрой «Камень, ножницы, бумага». В этом эпизоде добавим игровое лобби, таким образом приложение будет состоять из двух экранов: лобби и непосредсвенно игра. Обработку роутов приложения сделаем с помощью Livewire, такм образом переходы между экранами будут осуществляться в без перезагрузки страницы в стиле Signle Page Application. Также научимся сохранять состояние игры в базу …

ПодробнееLaravel Livewire — SPA & Turbolinks (часть 4)

Laravel Schematics — проектируем базу данных (часть 3)

Продолжаем работу над игрой «Камень, ножницы, бумага». В этом эпизоде займёмся проектированием структуры базы данных и мделаем это с помощью утилиты Laravel Schematics. Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq Источник: 5minphp.ru  

Laravel Livewire — Исправляем уязвимости (часть 2)

Продолжаем работу над игрой «Камень, ножницы, бумага» с использованием Laravel Livewire. В этом эпизоде исправим дыру в безопасности и обсудим, на что стоит обращать внимание при работе с Livewire, чтобы не отдать лишние данные на клиент? Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq Источник: 5minphp.ru  

Laravel Livewire — Камень, ножницы, бумага (часть 1)

Напишем игру «Камень, ножницы, бумага» с помощью Laravel Livewire. Livewire позволяет создавать динамические веб-интерфейсы без программирования на JavaScript. Весь код будем писать исключительно на PHP, при этом приложение будет работать без перезагрузки страницы и общаться с сервером с помощью Ajax. Исходный код проекта: https://github.com/pqr/laravel-livewire-rock-paper-scissors Плейлист со всеми сериями: https://www.youtube.com/playlist?list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq Источник: 5minphp.ru  

Архитектура сложных веб-приложений. С примерами на Laravel

Недавно я прочитал книгу «Архитектура сложных веб-приложений. С примерами на Laravel», автор Adel Faizrakhmanov. Эта книга не пособие. Много шаблонов описаны поверхностно, с целью просто познакомить читателя с ними. Более подробное описание можно найти по ссылкам в конце. Книга читается легко и с интересном, никакой воды, наоборот, иногда хочется продолжения и углубления в тему, больше …

ПодробнееАрхитектура сложных веб-приложений. С примерами на Laravel

PHP Russia Online и другие Online конференции Олега Бунина

Пятиминутка PHP · PHP Russia Online и другие Online конференции Олега Бунина В этот период, когда массовые мероприятия запрещены, IT конференции переходят в Online формат. Как выглядят Online конференции и как они будут выглядеть в будущем? Обсуждаем с Олегом Буниным, организатором многих IT конференций в России, включая такие известные ежегодные события, как HighLoad++, РИТ++ и …

ПодробнееPHP Russia Online и другие Online конференции Олега Бунина

Как провести собеседование PHP разработчика middle-уровня?

В этом выпуске подкаста гость в студии: Альберт Степанцев. Обсуждаем процесс найма PHP разработчика middle-уровня с точки зрения работодателя — что спрашивать, на что обращать внимание, как провести комфортное и полезное всем собеседование? Кого ищем? На что обратить внимание в резюме? Предварительное общение по телефону Собеседование должно быть не как экзамен, а как диалог Задачи …

ПодробнееКак провести собеседование PHP разработчика middle-уровня?

Skyeng — школа английского языка

На правах рекламы порекомендую школу английского языка Skyeng. Мне понравилась их веб-платформа — интерактивная и достаточно навороченная, очевидно, хорошо вложились в разработку! Есть и мобильное приложение, удобно для повтора слов в непринужденной обстановке. А вот делать в нём домашки на грамматику не очень удобно. Похоже оно работает через Web View и из-за этого не так …

ПодробнееSkyeng — школа английского языка