@phpshka
Please open Telegram to view this post
VIEW IN TELEGRAM
Не так давноначалась разработка языка PXP — это надстройка PHP и работает примерно как Typescript и JS. PXP-код транспилирует в обычный PHP, чтобы сохранить обратную совместимость и использовать существующую инфраструктуру и инструменты.
Цель проекта — предоставить разработчикам возможности, которые могут не быть внедрены PH.
https://pxplang.org/blog/an-introduction-to-pxp
@phpshka
Цель проекта — предоставить разработчикам возможности, которые могут не быть внедрены PH.
https://pxplang.org/blog/an-introduction-to-pxp
@phpshka
ryangjchandler.co.uk
Ryan Chandler
Exploring software development with PHP, JavaScript, Rust, and beyond.
Forwarded from C++ Academy
Как два байта переслать: контрибьютим в KPHP
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
План
1. Подготовка
2. runtime
• добавление функций
• типы
• флаги
• изменение подключаемых библиотек
3. Тесты
• cpp тесты
• php тесты
4. pull_request
Подготовка
Устанавливаем kphp из репозитория
runtime
Добавление функций
В качестве примера возьмем ситуацию, когда нам нужно реализовать функцию mb_check_encoding из php. Первым делом идем в доки (*изображение)
Узнаем, что функция проверяет кодировку строки или массива строк. Массив строк обрабатывается рекурсивно, так что сфокусируемся на функции, работающей для строки.
Теперь идем в код php смотреть как работает функция в php:
📌Продолжение
@cpluspluc
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
План
1. Подготовка
2. runtime
• добавление функций
• типы
• флаги
• изменение подключаемых библиотек
3. Тесты
• cpp тесты
• php тесты
4. pull_request
Подготовка
Устанавливаем kphp из репозитория
runtime
Добавление функций
В качестве примера возьмем ситуацию, когда нам нужно реализовать функцию mb_check_encoding из php. Первым делом идем в доки (*изображение)
Узнаем, что функция проверяет кодировку строки или массива строк. Массив строк обрабатывается рекурсивно, так что сфокусируемся на функции, работающей для строки.
Теперь идем в код php смотреть как работает функция в php:
📌Продолжение
@cpluspluc
Создание собственного движка шаблонов на PHP
В статье рассказывается о том, как создать собственный шаблонный движок на PHP для рендеринга выражений с использованием оператора "echo".
Автор объясняет, что шаблонный движок - это инструмент, который позволяет разработчикам отделить логику приложения от его представления. Дается детальное описание базовой структуры шаблонного движка, включая классы и методы, необходимые для парсинга шаблонов и выполнения операторов "echo" внутри них.
@phpshka
В статье рассказывается о том, как создать собственный шаблонный движок на PHP для рендеринга выражений с использованием оператора "echo".
Автор объясняет, что шаблонный движок - это инструмент, который позволяет разработчикам отделить логику приложения от его представления. Дается детальное описание базовой структуры шаблонного движка, включая классы и методы, необходимые для парсинга шаблонов и выполнения операторов "echo" внутри них.
@phpshka
ryangjchandler.co.uk
Build Your Own Template Engine in PHP - Rendering & Echo
Exploring software development with PHP, JavaScript, Rust, and beyond.
Телеграм-бот и сайт для систематизации задач, или как хобби участвует в основной работе
https://habr.com/ru/articles/751920/
@phpshka
https://habr.com/ru/articles/751920/
@phpshka
Хабр
Телеграм-бот и сайт для систематизации задач, или как хобби участвует в основной работе
Добрый день, читатель! Об истории Работал значит, работал я, а задачи падали-падали. Копились. Задачи специфические, не быстро решаемые. Пробовал различные приложения, но толку все никакого не было –...
Статистика версий PHP — июль 2023 г.
Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду). 68,8% клиентов используют PHP 8.*, а на PHP 7.* приходится 29,7%. Медленный, но хороший рост для PHP 8 по сравнению с прошлым годом, когда он составил 59,7%.
Согласно статистике Remi Repository, которая, вероятно, представляет несколько иной сегмент пользователей, 35% пользователей используют PHP 8.* и 63% используют PHP 7.*.
Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду). 68,8% клиентов используют PHP 8.*, а на PHP 7.* приходится 29,7%. Медленный, но хороший рост для PHP 8 по сравнению с прошлым годом, когда он составил 59,7%.
Согласно статистике Remi Repository, которая, вероятно, представляет несколько иной сегмент пользователей, 35% пользователей используют PHP 8.* и 63% используют PHP 7.*.
Joomla-дайджест. 1-е полугодие 2023 года
https://habr.com/ru/articles/752484/
https://habr.com/ru/articles/752484/
Хабр
Joomla-дайджест. 1-е полугодие 2023 года
Все главные новости из мира Joomla с момента выхода предыдущего дайджеста 24 января 2023 года в одной статье. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla....
Лучший способ получать свежие обновлении и следить за трендами в разработке.
Машинное обучение: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
C#: t.me/csharp_ci
C/C++/ t.me/cpluspluc
Data Science: t.me/data_analysis_ml
Devops: t.me/devOPSitsec
Go: t.me/Golang_google
Базы данных: t.me/sqlhub
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Хакинг: t.me/linuxkalii
Тестирование: https://t.me/+F9jPLmMFqq1kNTMy
Java: t.me/javatg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка машинное обучение: https://t.me/addlist/_FjtIq8qMhU0NTYy
🇬🇧Английский: t.me/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
Интернет магазин с нуля на Laravel
1. Презентация
2. Подготовка и настройка проекта
3. Подготовка
4. База данных
5. База данных
6. Аутентификация и socialite
7. Главная страница и intervention image
8. Фильтры, Laravel Scout, full text поиск
9. Характеристики, опции товара. EAV
#video #laravel
https://www.youtube.com/watch?v=CdHqpXNKVls&list=PLTucyHptHtTkveNJf17ypoZoG3pdnvs6v&ab_channel=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%BELaravel.CutCode
@phpshka
1. Презентация
2. Подготовка и настройка проекта
3. Подготовка
4. База данных
5. База данных
6. Аутентификация и socialite
7. Главная страница и intervention image
8. Фильтры, Laravel Scout, full text поиск
9. Характеристики, опции товара. EAV
#video #laravel
https://www.youtube.com/watch?v=CdHqpXNKVls&list=PLTucyHptHtTkveNJf17ypoZoG3pdnvs6v&ab_channel=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%BELaravel.CutCode
@phpshka
Универсальная система управления BuxarUMS. Начало
https://habr.com/ru/articles/753220/
https://habr.com/ru/articles/753220/
Хабр
Универсальная система управления BuxarUMS. Начало
Здравствуйте, товарищи. Уже много лет был в поиске универсального движка для управления многочисленными своими проектами, но тщетно. Сейчас в проектах: обменный пункт электронных валют, хостинг,...
Гайд 2023 Xdebug в PHPSTORM + Virtual server + Docker для macOS с пробросом портов
https://habr.com/ru/articles/753264/
https://habr.com/ru/articles/753264/
Хабр
Гайд 2023 Xdebug в PHPSTORM + Virtual server + Docker для macOS с пробросом портов
Гайд для remote подключения. Постарался обьяснить максимально подробно для новичков, так как понимаю как больно прыгать по статьям и теряться в последовательности. Тема актуальная, в силу того, что...
1С-Битрикс. Массовая загрузка элементов в Highload-блоки
https://habr.com/ru/articles/753460/
https://habr.com/ru/articles/753460/
Хабр
1С-Битрикс. Массовая загрузка элементов в Highload-блоки
При загрузке данных в Highload-блоки возможна ситуация, когда объем загружаемых данных очень велик. Тем не менее, самый распространенный путь для добавления данных - их перебор в цикле, и последующее...
Как мы поднимаем dev-стэнд(ы) и гоняем полноценные тесты api на каждый коммит
https://habr.com/ru/articles/753444/
https://habr.com/ru/articles/753444/
Хабр
Как мы поднимаем dev-стэнд(ы) и гоняем полноценные тесты api на каждый коммит
Мы в API отказались от большого количества unit -тестов в пользу большого количества интеграционных/системных тестов, чтобы: не писать тесты на каждую небольшую функцию системы (которые могут...
Как я смски получал с помощью ИИ
https://habr.com/ru/articles/754172/
https://habr.com/ru/articles/754172/
Хабр
Как я смски получал с помощью ИИ
Disclaimer : эта история не про код, а про использование ИИ для упрощения и ускорения написания мелких pet-проектов (и не только). Я живу в деревне и как практически в любой деревне на постсоветском...
Symfony Json RPC API Bundle — простое API со всем необходимым
https://habr.com/ru/articles/754134/
https://habr.com/ru/articles/754134/
Хабр
Symfony Json RPC API Bundle — простое API со всем необходимым
Как легко и быстро развернуть API на фреймворке Symfony с уже встроенной валидацией и авторизацией по токену? Можно воспользоваться бандлом для Symfony 6+ Посмотреть на packagist Посмотреть на github...
EasyAdmin и Mercure: реальный юзкейс
https://habr.com/ru/companies/otus/articles/754806/
https://habr.com/ru/companies/otus/articles/754806/
Хабр
EasyAdmin и Mercure: реальный юзкейс
EasyAdmin — один из самых популярных генераторов административных панелей, доступных для Symfony -приложений. Поскольку для аутентификации пользователей он использует стандартный компонент...
Media is too big
VIEW IN TELEGRAM
PHP, PDO SQL Injection
SQL Injection минимум который должен знать каждый разработчик код которого работает в production
00:00 Вступление и оглавление
01:06 Определения (теория)
01:45 Чем опасны SQL Injection
03:34 Практический стенд
06:12 Обхода аутедентификации
09:23 Модификации базы данных
11:47 Защита с помощью placeholder
15:49 Защита там где placeholder не применимы
источник
@phpshka
SQL Injection минимум который должен знать каждый разработчик код которого работает в production
00:00 Вступление и оглавление
01:06 Определения (теория)
01:45 Чем опасны SQL Injection
03:34 Практический стенд
06:12 Обхода аутедентификации
09:23 Модификации базы данных
11:47 Защита с помощью placeholder
15:49 Защита там где placeholder не применимы
источник
@phpshka
Composer, Создание своего пакета
▪PHP, Composer, Советы по созданию пакета, composer.json
▪PHP, composer, публикация пакета на packagist и github
▪Code style вашего проекта
Интеграция travis-ci в ваш php проект
▪PHPSTAN. Статический анализ PHP проекта
PHPINSIGHTS, Статический ▪анализ в вашего PHP проекта
▪PSALM, статический анализ ▪PHP проекта
▪PHPMD, статический анализ php mess detector
📌 Источник
@phpshka
▪PHP, Composer, Советы по созданию пакета, composer.json
▪PHP, composer, публикация пакета на packagist и github
▪Code style вашего проекта
Интеграция travis-ci в ваш php проект
▪PHPSTAN. Статический анализ PHP проекта
PHPINSIGHTS, Статический ▪анализ в вашего PHP проекта
▪PSALM, статический анализ ▪PHP проекта
▪PHPMD, статический анализ php mess detector
📌 Источник
@phpshka