Php Profi New Posts http://phpprofi.ru/ Wed, 17 Jan 2018 17:55:20 GMT ru-RU Реинкарнация популярного PHP-пакета для Slack http://phpprofi.ru/blogs/post/93 Wed, 10 Jan 2018 19:09:55 GMT alek13 Всем привет!

Сегодня я хочу рассказать о небольшом, но популярном open source пакете и попросить у вас помощи и поддержки.

Slack

Все вы наверняка использовали Slack в своих командах для упрощения работы над проектом. В этом плане Slack - очень удобная штука.

]]>
Подключение к Redis через Unix-сокеты в Docker http://phpprofi.ru/blogs/post/91 Thu, 28 Dec 2017 00:52:51 GMT alek13 Подключение к Redis через Unix-сокеты, как правило, быстрее, чем подключение через TCP/IP.

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

Имея 10М+ скачиваний, redis является четвертым среди самых скачиваемых Docker-образов, и большинство систем настраивают подключение к Redis через Docker'овский встроеный сетевой TCP-мост.

Docker'овский собственный сетевой TCP-мост — это, конечно, хорошо и прекрасно, но не хотели бы вы выжать еще немного скорости?

]]>
Добро пожаловать! http://phpprofi.ru/blogs/post/85 Tue, 26 Dec 2017 02:54:35 GMT alek13 Всем привет!

Мы поздравляем всех, кто уже прошёл наш квест "Как хакнуть форму". Всем спасибо за ваши отзывы и комментарии по квесту.

Как мы уже говорили, всем, кто прошёл его, мы выслали инвайты. И всем, кто пройдёт квест до его завершения, инвайты будут высланы в 24:00 в день прохождения.

Большинство тех, кто получил инвайты, уже зарегистрировались и мы рады приветствовать новых пользователей.

Дамы и господа, you are welcome!

]]>
Асинхронный параллельный запуск кода в PHP на примере Laravel Collection http://phpprofi.ru/blogs/post/90 Mon, 25 Dec 2017 19:12:37 GMT irul Фреймворк Laravel имеет отличный класс для работы с коллекциями, который имеет много полезных операций. Класс также является macroable. Это означает, что к нему можно добавлять функции во время выполнения путем вызова его метода macro и передачи названия и замыкания. В наших проектах мы, как правило, пишем один и тот же макрос снова и снова. Вот почему мы вынесли эти макросы в пакет laravel-collection-macros, так что вы можете их использовать, котоый основан на amphp/parallel.

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

Давайте взглянем на пример:

]]>
Скажите "Thanks!" библиотекам, которые используете http://phpprofi.ru/blogs/post/89 Fri, 22 Dec 2017 13:59:19 GMT irul Если вы такие же, как и я, то при разработке приложения используете множество отличнейших библиотек PHP, поддерживаемых бесчисленным количеством талантливых разработчиков. И это восхитительно, что PHP-сообщество так далеко продвинулось!

И хотя я стараюсь изо всех сил внести и свой вклад, трудно выразить признательность за все эти усилия. И иногда мне просто хочется кричать "Спасибо!!!"

]]>
Производительность AMQP-клиентов на PHP. Benchmark`и всех! http://phpprofi.ru/blogs/post/88 Fri, 22 Dec 2017 01:55:19 GMT alek13

Рост популярности AMQP interop вызвал волну вопросов относительно того, какой адаптер является самым быстрым. В этом посте я хочу поделиться своими выводами о производительности постановки сообщений в очередь. Позже будет подобный пост о "разгребании" очереди.

Рассмотрим:

а также их адаптеры с имплементацией AMQP interop:

и один из мира Golang:

]]>
Mockery: разные возвращаемые значения при разных аргументах http://phpprofi.ru/blogs/post/87 Thu, 21 Dec 2017 20:28:13 GMT alek13 Иногда при работе с mock объектами библиотеки Mockery, мы хотим сообщить фейковому методу, чтобы он возвращал разные значения для разных аргументов. Это редкий случай, когда мне нужна эта функциональность, но каждый раз, когда мне это нужно, я счастлив, что она есть.

]]>
Управление зависимостями и решение конфликтов в PHP через Composer http://phpprofi.ru/blogs/post/86 Wed, 20 Dec 2017 13:33:05 GMT alek13 Когда вы создаете PHP-приложение или библиотеку, вы, как правило, имеете 3 вида зависимостей:

  • Жесткие зависимости: то, что требуется вашему приложению/библиотеке, чтобы работать
  • Необязательные зависимости: например, ваша PHP-библиотека может предоставлять адаптеры/бриджи для различных фреймворков
  • Зависимости для разработки: инструменты отладки, тестирования...

Как управлять этими зависимостями?

]]>
Установка новой версии PHP 7.2 http://phpprofi.ru/blogs/post/84 Fri, 08 Dec 2017 17:15:22 GMT alek13 PHP 7.2

Недавно был релиз PHP 7.2, который привнёс несколько отличных новых фич и улучшений безопасности в язык. Например, таких, как указание типа object, разумное поведение count() и многое другое.

Здесь мы собрали краткие руководства о том, как установить PHP 7.2 на нескольких разных операционных системах:

]]>
Неймспейсы и организация сервисов бизнес-логики в Symfony http://phpprofi.ru/blogs/post/83 Wed, 29 Nov 2017 17:17:39 GMT alek13 Я хочу поговорить о пространствах имен для сервисов в Symfony, специфичное для Symfony3.

Это захватывающие времена, Symfony 4 уже на подходе — выходит 30-го ноября — так что этот пост может стать неактуальным в ближайшее время! Тем не менее концепт всё тот же, так что давайте взглянем на него!

]]>