Как стать автором
Обновить

runkit 1.0.2

Время на прочтение1 мин
Количество просмотров4.1K
Ничто не предвещало ничего (с)

После 5 лет молчания и отсутствия развития, runkit разродился новой версией (даже двумя) и, потенциально, новым мейнтейнером (dzenovich).

Пока в официальном pecl-репозитории он отсутствует, но когда это нас останавливало:
pecl install github.com/downloads/zenovich/runkit/runkit-1.0.2.tgz

Код проекта находится по адресу: github.com/zenovich/runkit.


Для тех, кто не в курсе, runkit — это магическая штуковина, которая позволяет изменять РНР-код на лету. Помимо этого он умеет запускать РНР-код в отдельном окружении, создавая уютную "песочницу", которая не сделает «ой» основному коду (для этого нужно собирать PHP с поддержкой тредов, т.е. --enable-maintainer-zts для configure).

Что нового добавилось:
  • Создание и подмена статических методов
  • Импорт статических свойств
  • Возможность использовать замыкания в «песочнице»
  • Полная поддержка ветки 5.3, вплоть до 5.3.3. Уиии!
  • Исправлено множество багов и фич

Можно по разному относится к runtime замене кода, но присутствие инструмента лучше, чем его отсутствие. Из областей применения, которые сразу приходят на ум: замена мокам и стабам, точечные правки во внутренностях библиотек.

UPD: Текст был дополнен и исправлен, тем самым легендарным, а местами даже краснознаменным, dzenovich.
UPD2: Пример использования runkit в PHPDaemon. Там же и небольшое описание возможностей runkit.
Теги:
Хабы:
Всего голосов 49: ↑43 и ↓6+37
Комментарии20

Публикации

Истории

Работа

PHP программист
116 вакансий

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн