Все потоки
Поиск
Написать публикацию
Обновить
210.22

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

PHP 8 — Что нового?

Время на прочтение19 мин
Количество просмотров143K

PHP, начиная с 7 версии, кардинально изменился. Код стал куда быстрее и надёжнее, и писать его стало намного приятнее. Но вот, уже релиз 8 версии! Ноябрь 26, 2020 — примерно на год раньше, чем обещали сами разработчики. И всё же, не смотря на это, мажорная версия получилась особенно удачной. В этой статье я попытаюсь выложить основные приятные изменения, которые мы должны знать.


1. JIT


Как говорят сами разработчики, они выжали максимум производительности в 7 версии (тем самым сделав PHP наиболее шустрым среди динамических ЯПов). Для дальнейшего ускорения, без JIT-компилятора не обойтись. Справедливости ради, стоит сказать, что для веб-приложений использование JIT не сильно улучшает скорость обработки запросов (в некоторых случаях скорость будет даже меньше, чем без него). А вот, где нужно выполнять много математических операций — там прирост скорости очень даже значительный. Например, теперь можно делать такие безумные вещи, как ИИ на PHP.
Включить JIT можно в настройках opcache в файле php.ini.
Подробнее 1 | Подробнее 2 | Подробнее 3


2. Аннотации/Атрибуты (Attributes)


Все мы помним, как раньше на Symfony код писался на языке комментариев. Очень радует, что такое теперь прекратится, и можно будет использовать подсказки любимой IDE, функция "Find usages", и даже рефакторинг!


Забавно, что символ # также можно было использовать для создания комментариев. Так что ничего не меняется в этом мире.
Читать дальше →

Встречаем PHP 8 вместе: советы по обновлению, мнения за и против и интервью с ключевыми разработчиками

Время на прочтение2 мин
Количество просмотров7K
У PHP отличное сообщество. Пандемия отобрала у нас митапы и конференцию, но мы можем собраться 25 ноября вечером в онлайне на:

  • доклад «PHP 8: юзерленд» — нескучный обзор с примерами и рекомендациями,
  • дискуссию о развитии языка,
  • и сессию Q&A с Никитой Поповым (вопросы соберем по ходу эфира).
  • UPD. К стриму также присоединится Дмитрий Стогов


Для участия достаточно зарегистрироваться, это бесплатно. А пока есть время, мы попросили ребят, которые придут в трансляцию, вспомнить, за что они любили и не любили предыдущие версии языка.

Финальные классы в PHP, Java и других языках

Время на прочтение3 мин
Количество просмотров8.7K
Использовать финальные классы или не использовать финальные классы? Вот в чём вопрос. А ещё в том, когда и как это делать правильно.


Читать дальше →

Ускоряем и стабилизируем автотесты на codeception + selenium

Время на прочтение5 мин
Количество просмотров3.6K
Как прогнать несколько часов автотестов за 5 минут и при этом, чтобы это было стабильно и не вызывало головной боли при каждой сборке? Без лишней воды и вступлений предоставляю вашему внимаю сборник костылей и подпорок элегантных архитектурных решений, без которых невозможно добиться высокой скорости и стабильности автотестов.
Читать дальше →

Генератор ocmod-файла для интернет-магазина на Opencart

Время на прочтение8 мин
Количество просмотров3.4K
Реально ли при разработке модификаций для распространенного движка интернет-магазинов Opencart сосредоточиться на своих алгоритмах, а подготовку файла для подгрузки в эту CMS дать на откуп специальным скриптам? Собственно, это то, что сильно облегчило бы жизнь разработчикам под Opencart, и в данной статье я предлагаю мой вариант решения.
Читать дальше →

API для QA: тестируем фичи без доступа к коду

Время на прочтение6 мин
Количество просмотров14K

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

Очевидно, что разработчик не будет столько ждать. Он просто сменит в коде значение константы, которая задаёт временной интервал, с трёх дней на 20 секунд — и получит результат почти мгновенно.  

Допустим, данные для промопредложения отдаёт сервер, а отрисовывается оно на клиенте. Если серверный тестировщик работает в среде, которая допускает манипуляции с кодом, он тоже быстро справится с задачей. Но как только она окажется там, где возможность менять код отсутствует (стейджинг, продакшен), возникнет проблема.

Читать далее

PHP-Дайджест № 192 (2 – 16 ноября 2020)

Время на прочтение4 мин
Количество просмотров9.7K

Свежая подборка со ссылками на новости и материалы. В выпуске: Последний релиз-кандидат PHP 8.0 перед финальным релизом и свежие материалы по PHP 8, RFC и обсуждения из PHP Internals, порция полезных инструментов, стримы, подкасты, статьи.

Приятного чтения!

Читать дальше →

Очереди на очереди: Magento 2 + RabbitMQ

Время на прочтение7 мин
Количество просмотров7.3K

Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, насколько мало информации на русском языке об интеграции очередей в M2. Время идет, а ситуация не меняется: информации об этом на просторах рунета все так же мало. Раскроем эту тему. Для начала кратко поговорим про очереди: что это такое и зачем они нужны, потом рассмотрим интеграцию M2 с популярным менеджером очередей Rabbit MQ (далее по тексту — RMQ), а также напишем простую реализацию работы с очередями в качестве примера. Погнали!

Читать далее

Новости Yii 2020, выпуск 7

Время на прочтение5 мин
Количество просмотров4K

Всем привет! Это очередной выпуск новостей Yii. Как обычно, в выпуске вас ждут релизы Yii 2, прогресс Yii 3, важные вести о Yii 1 и другие новости. Приятного чтения и будьте здоровы. — Александр Макаров

Читать дальше →

ВКонтакте снова выкладывает KPHP

Время на прочтение13 мин
Количество просмотров57K
Привет! Сейчас будет дежавю.

Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад.

Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со временем нас перестала устраивать производительность, и мы решили ускорить VK. Сделали компилятор — KPHP, который поддерживал узкое подмножество PHP. Это было давно, и с тех пор мы о нём не рассказывали, так как KPHP почти не развивался до 2018-го года.

Но два года назад мы взялись за него, чтобы вдохнуть в эту разработку новую жизнь. Что сделали и какой получили результат — расскажу в этой статье. Она будет не о громком релизе, который можно прямо сейчас внедрять в свои проекты, а о внутренней разработке ВКонтакте, которую мы показываем сообществу и продолжаем развивать. Представлюсь: меня зовут Александр Кирсанов, я руковожу командой Backend-оптимизаций.

А теперь — телепортация.

delorean
Читать дальше →

Печатные формы документов для Eloquent в 0 строчек кода

Время на прочтение3 мин
Количество просмотров4.7K

Недавно в проекте на Laravel+Eloquent понадобилось сделать печатные формы документов — счетов, договоров в формате Word. Так как в системе много разных документов, то решил сделать универсально, чтобы можно было потом использовать и в других проектах.


В итоге получилась реализация, которая требует минимум затрат на интеграцию в проект.


Читать дальше →

Полезные привычки программиста после 30, MySQL vs Postgres и как поговорить об этом в субботу

Время на прочтение6 мин
Количество просмотров7.4K
Год назад нижегородский PHP-чат собрался на свой первый, а вскоре и второй митап. Третий все откладывался. В итоге мы решили провести его в смешанном формате: спикеры соберутся на площадке и выступят перед ограниченной аудиторией (со всеми мерами профилактики), а желающие смогут не просто смотреть трансляцию — но и общаться с докладчиками голосом (и не по зуму).


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

В программе три доклада: прочитать подробнее о них и самих докладчиках можно на страничке митапа. А ниже бегло расскажу, как мы на коленке изобрели недорогое решение для организации трансляции и телемоста, которое можно воспроизвести практически всюду.

Ближайшие события

Как я решил написать ORM на php с нуля на работающем сайте, и что из этого вышло

Время на прочтение5 мин
Количество просмотров6.1K
Я, как и многие программисты, довольно отрицательно отношусь к созданию велосипедов и изобретению колес и это более чем обосновано хотя бы стоимостью разработки для бизнеса. Но как показал мой опыт иногда приходится отходить от этого правила и, даже, получать от этого пользу. Я имею ввиду не только интерес и удовольствие от разработки, но и плюшки для проекта в целом. Об одном моем подобном опыте можно прочесть несколько слов под катом.


Читать дальше →

Как обстоят дела с PHP в Краснодаре (и не только)

Время на прочтение3 мин
Количество просмотров2.7K
Год назад мы стали собирать список городских PHP-чатов. В этом феврале в него добавился Краснодар — ребята выделились из общегородского бэкенд-сообщества. А дальше наступил локдаун.

За его время в чат добавилось свыше 100 участников. А в эту субботу пройдет его первый митап в смешанном формате: можно прийти, если вы готовы соблюдать все меры предосторожности, а можно посмотреть онлайн — и при этом общаться с докладчиками голосом.


Эфир стартует в 11 по Москве/Киеву/Минску. Оценить, как выглядит включение из трансляции, можно на этом примере.

Накануне митапа мы поговорили с его докладчиками.

PHP-Дайджест № 191 (19 октября – 2 ноября 2020)

Время на прочтение5 мин
Количество просмотров13K
Фото: Валерий Горбачев (PHP Krasnodar)

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 3 и видеообзоры новых возможностей, Composer 2, завершение разработки Faker (теперь в новой организации), два новых RFC для PHP 8.1, порция полезных инструментов, статьи, видео с прошедших митапов.

Приятного чтения!


Читать дальше →

Обзор экосистемы пакетов Laravel

Время на прочтение8 мин
Количество просмотров5.4K
Специально для студентов курсов «Backend-разработчик на PHP» и «Framework Laravel» подготовили еще один полезный перевод.






В мире Laravel пакеты играют важную роль. Насколько важна эта роль и какие пакеты существуют? Чтобы это узнать, мы взяли данные из API Packagist.org и отфильтровали пакеты Laravel.
Читать дальше →

PHP 8 — пробуем новые возможности

Время на прочтение6 мин
Количество просмотров20K

PHP 8 уже на этапе release candidate, версия RC 3 вышла 29 октября, а полноценный релиз назначен на 26 ноября. Так что пора взглянуть на новые возможности, которые нас ждут в PHP 8. График релизов можно посмотреть здесь. А официальное руководство по обновлению на новую версию лежит тут.
Читать дальше →