|
|
rss_habr
Честные модули внутри PHP: теперь они существуютЧетверг, 22 Декабря 2022 г. 12:12 (ссылка)
Низкий порог входа и строгость языка программирования — вещи обычно несовместимые. Потому что ты либо, как Rust, бьёшь по рукам borrow checker’ом — либо, как PHP, позволяешь не задумываться о типах и быстро прототипировать. На самом деле, если писать код грамотно, это становится неважным и язык перестаёт иметь значение. Архитектура важнее языка, и хороший код на PHP ничем не отличается от аналогичного кода на любом другом ООП-языке. Другое дело, что возможность «любой домохозяйке» писать на PHP сопровождается и риском наворотить полное неподдерживаемое безобразие. Поэтому нам нужны тайпхинты, линтеры, статические анализаторы и подобные инструменты. Но в PHP есть и ещё один изъян: в нём любой класс, функция или константа — глобальны. Можно создать класс из любого места в коде, и нет способа скрыть его или сделать деталью реализации где-то в отдельной папке. Иными словами, в PHP нет того, что в других языках называется модулями. Наша новая open-source разработка называется Modulite и внедряет в PHP модули. Это сквозная технология: мы внедряемся в IDE, в PHPStan, в KPHP, в CI, в Composer — и делаем так, будто бы модули нативно есть в языке PHP. Читать далееhttps://habr.com/ru/post/705998/?utm_source=habrahabr&utm_medium=rss&utm_campaign=705998
rss_habr
Текстовые шаблонизаторы и их реализацияВторник, 29 Ноября 2022 г. 16:33 (ссылка)
Многие из нас пользовались шаблонизаторами текстов. Twig в PHP, text/template в Go, Jinja в Python — их сотни. Но задумывались ли вы, как они устроены внутри? Какие вообще есть способы исполнить шаблон со сложными конструкциями? В этой статье разбираются возможные оптимизации и проблемы, которые могут возникнуть в той или иной реализации, а также то, как на наши решения может влиять язык программирования, на котором мы создаём этот шаблонизатор. Наиболее детально рассмотрим KTemplate, который я написал для KPHP (на PHP он тоже работает без проблем). Читать дальше → https://habr.com/ru/post/698532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=698532
rss_habr
Как расширить возможности runtime KPHPЧетверг, 24 Ноября 2022 г. 19:37 (ссылка)
Всем доброго дня, уважаемые читатели. В данной статье вы узнаете как добавить новые функции в runtime KPHP, чтобы ими можно было пользоваться как ни в чём не бывало. Рассмотрим этапы сборки KPHP, реализациий функций, написание тестов. В качестве задачи - добавления функций для парсинга файлов и строк в формате env. Читать далееhttps://habr.com/ru/post/701216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=701216
rss_habr
KPHP спустя 2 годаПятница, 11 Ноября 2022 г. 12:12 (ссылка)
Ровно два года назад — в ту же самую дату и в то же самое время — я опубликовал статью «ВКонтакте снова выкладывает KPHP». Сегодня рассказываю, куда мы продвинулись за эти два года: про язык, рантайм, использование KPHP вне ВКонтакте, другие open-source проекты и февраль 2022-го. Читать далееhttps://habr.com/ru/post/698294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=698294
rss_habr
nocc — распределённый компилятор для гигантских проектов на С++Вторник, 25 Октября 2022 г. 12:12 (ссылка)
rss_habr
Цветные функции: ищем плохие архитектурные паттерныВторник, 11 Октября 2022 г. 12:12 (ссылка)
Когда у языка нет цветовой дифференциации функций… то у языка нет цели? Я уже много лет занимаюсь компиляторами и языками в целом. Хочу поделиться интересной мыслью, которая когда-то пришла мне в голову. Почему-то такого я нигде не видел. Если немного расширить понятие функции (ввести атрибут «цвет»), можно описывать паттерны вида «вызывать логгер из performance-critical мест — это плохо» или «ходить в базу при рендеринге шаблонов запрещено». Идея абсолютно не зависит от языка и применима к любому: хоть JS, хоть Go. Разберу её подробно в статье, и это будет интересно больше с теоретической точки зрения. Хотя мы даже сделали практическую реализацию для PHP, чтобы использовать у себя. Ссылки на GitHub и видео приложу в конце, а пока обо всём по порядку. Читать далееhttps://habr.com/ru/post/691828/?utm_source=habrahabr&utm_medium=rss&utm_campaign=691828
rss_habr
Встраиваем Lua в PHP через FFIВторник, 23 Августа 2022 г. 18:28 (ссылка)
Foreign Function Interface — это перспективная альтернатива для традиционных PHP-расширений. Сегодня мы будем разбирать FFI-библиотеку для работы с liblua5 из PHP, которая позволит исполнять скрипты на Lua из нашего приложения. Читать дальше → https://habr.com/ru/post/681400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=681400
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |