Обновить
43.77

PHP *

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

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

Обзор сервисов для получения актуальных курсов валют

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

На текущий момент есть много сервисов, откуда можно получить курсы валют, но все они либо неудобные, либо у них отсутствует одна или более нужных вам валют.

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

Поехали

Job — шаблон проектирования для новичков и опытных Go программистов

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

Я начал программировать на Go после достаточно продолжительного периода программирования на PHP. Полагаю судя по последним тенденциям, мой случай далеко не единичный. Go в целом набирает популярность среди Web разработчиков.

Читать далее

Расширяем возможности миграций Laravel за счет Postgres

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

Все, кто однажды начинал вести более-менее нормальный Enterprise проект на Laravel, сталкивался с тем, что стандартных решений, которые предлагает Laravel из коробки, уже недостаточно.

А если вы, как и я, используете в своих проектах Postgres, то рано или поздно вам потребуются плюшки этой замечательной СУБД, такие как: различного рода индексы и констрейнты, расширения, новые типы и тд...

Сегодня, как вы уже заметили, мы будем говорить про Postgres, про миграции Laravel, как это все вместе подружить, в общем, обо всем том, чего нам не хватает в стандартных миграциях Лары.

Ну а для тех, кто не хочет погружаться в тонкости внутреннего устройства Laravel, может просто скачать пакет, расширяющий возможности миграций Laravel и Postgres по этой ссылке и использовать его в своих проектах.

Но я все же рекомендую не пролистывать, а прочитать все до конца.

Погнали

OpenCart popup, модальные окна

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

Статья нашего сотрудника из его личного блога.

Разрабатывая модуль, в админке мне понадобилось использовать модальные окна OpenCart для вывода определенной информации, а так же для показа формы. Мой опыт frontend на тот момент был так себе, однако коллега подсказал что в OpenCart используется jquery (2.1.1), а у этой библиотеки есть поддержка popup окон. Но не все так просто …

Читать далее

Это не легаси-код, это PHP

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


За последний год разработчики Vimeo писали код бэкенда на множестве языков — PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного на Rust.

В 2004 году мы начинали всего с одного: PHP. Это был идеальный язык для новых стартапов наподобие Vimeo. Интерпретатор PHP позволял предпринимателям быстро разрабатывать прототипы и имел большую стандартную библиотеку, позволявшую избавиться от мороки с повседневными задачами типа отправки писем и доступа к базам данных.

Большинство стартапов развалилось, однако некоторые из них, взявшие за основу PHP, по-прежнему были живы спустя десяток лет. Немногие из них добилась резкого роста, а в дальнейшем кое-кто из этих стартапов (самым заметный пример — это Facebook) решил, что PHP является узким местом, и начал мигрировать с него. Для этого исхода было две серьёзные причины: производительность PHP и сложность поддержки больших кодовых баз PHP.
Читать дальше →

Интеграция PHP проекта на GitHub и Scrutinizer

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

Есть такой продвинутый инструмент Scrutinizer CI.

Для OpenSource он абсолютно бесплатный и платный для приватных репозиториев.

Вы о нем слышали, наверное, а если нет, то лично я использую его для анализа кода на различного рода уязвимости, а также в качестве замены статическому анализатору типа Psalm, ну и для покрытия конечно же, т.к. при довольно простой сквозной интеграции с GitHub оно внедряется в ваши PR и можно ревьюить код, наблюдая покрытие по аналогии с Cubertura в GitLab.

Это удобно, но к моему великому удивлению, на хабре, как и в целом на просторах интернета, довольно мало информации о том, как быстро и просто подключить этот крутой инструмент к вашему репозиторию в GitHub, ну а если вы еще и английского не знаете, то картина еще более грустная.

Поэтому я решил поделиться с вами своим опытом интеграции со Scrutinizer CI, рассказать о нюансах и тд...

Поехали

Автоматизация ручных действий с GitHub Actions

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

GitHub Actions — инструмент для автоматизации рутинных действий вашего пакета на GitHub.

Из личного опыта расскажу, как без опыта и знаний о настройке CI, я научился автоматизировать рутину в своем Open Source проекте всего за день и что на самом деле это действительно не так страшно и сложно, как многие думают.

GitHub предоставляет действительно удобные и рабочие инструменты для этого.

Читать далее

Производительность Composer 2.0 с JIT PHP 8

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

Последние несколько месяцев для PHP разработчиков выдались поистине захватывающими. С релизами Composer 2.0 и PHP 8.0 произошли значительные обновления кодовой базы DXP (Digital Experience Platform) Ibexa и множества других программных проектов, работающих на PHP. В рамках продолжения темы проведения бенчмарков Composer 1.10 и 2.0 и Symfony 5.2 с PHP 7.1 и 8.0, сегодня мы рассмотрим производительность Composer 2.0 на PHP 8.0.

Как и в предыдущих статьях, я проводил бенчмарки на Hetzner CCX11 VPS с 2 выделенными виртуальными ЦП и 8 ГБ ОЗУ. Я протестировал три сценария с использования Composer 2.0.7:

Читать далее

PHP Дайджест № 196 (1 – 11 января 2021)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: релиз PHP 8.0.1, MySQL движок на PHP от Vimeo и другие релизы, обновленный Enum и свежие предложения для PHP 8.1, «уязвимость» в Laminas, инструменты, статьи, видео, PHP Дайджест Live в 20:00 МСК.

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


Как настроить мониторинг бизнес-процессов в БД Oracle и построение графиков, используя бесплатную версию Grafana

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

Настройка мониторинга процессов в Oracle с выводом графиков в Grafana через simple-json-plugin, и веб-сервис на php (oci8 library)

Читать далее

У Вас проблемы с legacy — значит, Вам повезло! Распил монолита на PHP

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

Меня часто просят рассказать о работе с legacy-монолитами. Про микросервисную архитектуру и переход на нее говорят много, но редко упоминают о том, что проекты приходят ней после многих лет роста с монолитным приложением. Учебники по решению проблем не пишут. Чтобы поменять архитектуру живого решения, надо пройти через несколько этапов. Автор работал с разными проектами - и с полноценным multitenancy service-oriented REST architecture, и с огромным монолитом, в репозитории которого были коммиты за десять лет. Эта статья - о темной стороне, о legacy-коде, и практических решениях проблем с монолитным кодом на PHP.

Читать далее

Итоги года в PHP мире

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

К концу 2019-го встречи разных PHP-тусовок проходили чуть ли не каждую неделю, появились новые подкасты и каналы, а статьи и доклады лились рекой. Весна 2020-го не задалась - могло показаться, что все заглохнет, но сообщество быстро перестроилось. Стримы заменили митапы, люди не бросили готовить контент и, конечно, важные релизы. 

Вместе с PHP-дайджестом мы решили спросить вас - а что из этого всего запомнилось? И запускаем небольшой анонимный опрос.

Читать далее

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

Эволюция команды разработки

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

Весной 2019 года меня пригласили руководить разработкой в небольшой стартап, занимающийся обработкой Big Data.

За год руководства было решено немало важных вопросов и их решений, о которых я сегодня буду рассказывать. Статья в большей степени предназначена для руководителей и тимлидов разработки, в команде которой требуются перемены. У читателя может сложиться мнение, что у меня и команды не было скучных рутинных задач, это не так. Эта часть работы будет пропущена.

Читать далее

60+ чатов и ютуб-каналов для PHP-разработчика, которые советуют ребята из сообщества

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


В середине лета мы начали крутить идею создания сайта со всеми PHP-активностями России, Украины и Беларуси. Зачем? Их стало так много в разных форматах, что пора бы уже агрегировать для удобства в одном месте. Сайт запилили, а еще расспросили организаторов городских комьюнити по PHP, какими ресурсами они пользуются каждый день. Собрали в подробный список, чтобы всегда был под рукой.
Читать дальше →

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

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

Всем привет! Это последний выпуск новостей в "весёлом" 2020 году. Я едва успел его приготовить потому как скорость разработки Yii 3 сильно подросла. Все пакеты в этом месяце мы тегнуть не успели, но многие почти готовы, поэтому стоит ожидать релизов в Январе.


С наступающим Новым Годом! Пусть будет менее сумасшедшим, чем 2020. — Александр Макаров


// Не забывайте ставить звёздочки любимым пакетам на GitHub.

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

Бенчмарки PHP 8.0 и 7.4 на Symfony: повышение производительности JIT до +9% вместе с предварительной загрузкой OPCache

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

PHP 8.0 должен увидеть свет 26 ноября 2020 года, а вскоре за ним и последняя версия фреймворка Symfony 5.2. Здесь представлена серия бенчмарков, выполненных на последних версиях обоих проектов. Это чистый hello world сценарий, и его следует воспринимать как таковой. Имеет значение только относительная производительность. В реальном мире YMMV (ваши результаты могут отличаться от приведенных).

Читать далее

PHP-Дайджест № 195 (14 – 28 декабря 2020)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: Fibers для асинхронного PHP, первые нативные атрибуты, короткий match и другие RFC предложения для PHP 8.1, инструменты, много видео, статьи и подкасты.

Приятного чтения и с наступающим Новым годом!


Использование Shopker для IoT

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

Недавно я столкнулся с задачей визуализации данных от датчиков (температура, влажность, частицы PM2.5). Для решения подобных задач существует несколько бесплатных инструментов, например, Grafana + InfluxDB. Найденные мной решения показались слишком сложными и требовательными к ресурсам сервера, поэтому я решил "изобрести свой велосипед", а точнее создать шаблон для Shopker.

Читать далее