Квест → Как хакнуть форму
Прошли: 77
Для тех, кто пропустил: 24 ноября вышла новая мажорная версия Flysystem. Новая версия позволяет порвать с прошлым ради будущего, что я и сделал.
Для создания второй версии Flysystem я начал с чистого листа. Многие основные элементы дизайна библиотеки были почищены и улучшены. API уменьшен, сохраняя при этом свой прежний функционал. Обработка ошибок теперь основана только на исключениях, а листинг директорий теперь используют генераторами. Несмотря на то, что изменений много, эта версия Flysystem верна своим корням. Давайте погрузимся в детали!
Xdebug - это расширение PHP, которое помогает в отладке, трассировке, профилировании и предоставляет инструменты для покрытия кода, а также совершенствует PHP с помощью более информативных функций отладки. Xdebug - это де-факто PHP-расширение для пошаговой отладки PHP и продуманный инструмент для разработки на PHP.
Разработанная Derick Rethans (Дерик Ритенс), Xdebug 2 - это текущая стабильная версия. Пре-релиз Xdebug 3 вышел всего несколько дней назад, и в этой статье приводятся улучшения производительности в новой версии.
Всем привет! Я хотел бы рассмотреть некоторые концепции удаления в Laravel. Иногда нам может понадобиться спроектировать приложение так, чтобы в случае удаления пользователем данных, они не удалялись бы навсегда и все равно оставались в базе данных, но внешне не отображались. Laravel предоставил нам эту функцию "из коробки" под названием softDelete, поэтому я проиллюстрирую как удалить, просмотреть, восстановить и как навсегда удалить удаленные данные. Я назвал эту концепцию Корзиной (Recycle Bin).
Если вы предпочитаете видео, вы можете посмотреть видео на Youtube.
На днях я опробовал GitHub Actions. Это классный инструмент! Кратко: с его помощью можно запускать код за вас, например, запускать ваши процессы сборки, тесты и развертывания. Это просто файлы конфигурации, которые могут запускать все, что вам нужно. Существует целый маркетплейс Action'ов (действий), готовых работать на вас.
Ревью кода - это часть разработки программного обеспечения, которая подразумевает тестирование исходного кода для идентификации багов на ранней стадии. Процесс код-ревью обычно проводится перед слиянием с кодовой базой.
Эффективное ревью кода предотвращает попадание багов и ошибок в ваш проект путем улучшения качества кода на ранней стадии процесса разработки софта.
В этой статье мы объясним, что такое код-ревью и изучим популярные инструменты, которые помогают организациям с данным процессом.
Содержание
Практически каждый PHP-разработчик когда-нибудь парсил данные из интернета. Часто нам нужны какие-то данные, которые доступны только на каком-то сайте, и мы хотим вытащить эти данные и сохранить их где-нибудь. Это похоже на то, что мы открываем браузер, ходим по ссылкам и копируем данные, которые нам нужны. Но то же самое может быть автоматизировано с помощью скрипта. В этом статье, я покажу вам путь, как вы можете увеличить скорость вашего парсера путём отправки запросов асинхронно.
Когда вы разрабатываете проект с открытым исходным кодом, считается хорошей практикой иметь высокое покрытие тестами, чтобы сообщество могло чувствовать себя в безопасности, используя ваш код в своих проектах. Существуют онлайн-сервисы, которые могут анализировать качество вашего кода и предоставляют отчёты и рекомендации. Одним из самых популярных является Code Climate. Этот сервис не запускает ваши тесты, но вы можете использовать один из инструментов непрерывной интеграции(CI) для их запуска, а затем отправлять его результат в Code Climate. В этой статье будет показано, как использовать Travis CI для запуска тестов и данные о покрытии тестами в CodeClimate.
Подключение к Redis через Unix-сокеты, как правило, быстрее, чем подключение через TCP/IP.
Это потому, что в целом, Unix-сокеты имеют гораздо меньше накладных расходов. Они, по сути, просто файлы, которые могут читать Unix-подобные системы. Недостатком этого является то, что возможны только локальные подключения.
Имея 10М+ скачиваний, redis
является четвертым среди самых скачиваемых Docker-образов, и большинство систем настраивают подключение к Redis через Docker'овский встроеный сетевой TCP-мост.
Docker'овский собственный сетевой TCP-мост — это, конечно, хорошо и прекрасно, но не хотели бы вы выжать еще немного скорости?
Если вы такие же, как и я, то при разработке приложения используете множество отличнейших библиотек PHP, поддерживаемых бесчисленным количеством талантливых разработчиков. И это восхитительно, что PHP-сообщество так далеко продвинулось!
И хотя я стараюсь изо всех сил внести и свой вклад, трудно выразить признательность за все эти усилия. И иногда мне просто хочется кричать "Спасибо!!!"
E.L.K. — это отличный стек для хранения, управления и мониторинга логов. Monolog — это отличная PHP-библиотека для логирования. Давайте заставим их работать вместе.
Переменные окружения, используемые в конфигурации, являются на сегодняшний день основным методом установки в приложении таких настроек, как учетные данные базы, API ключи, секретные ключи и всего, что является различным в зависимости от того, где развертывается приложение. Сейчас такие настройки попадают в код через окружение, вместо прямого прописывания в файлах конфигурации или, того хуже, хардкода прямо в коде.
Давайте подробнее взглянем на то:
Среди многих проблем, при современной разработке программного обеспечения, существует проблема гарантированно одинакового исполнения ПО во всех окружениях.
И для решения оной, Docker приходит на помощь! Он предоставляет единый способ построения и запуска контейнеров для любых необходимых сервисов. Платформа гарантирует, что ваше приложение отработает одинаково вне зависимости от конечного окружения.
Чтобы продемонстрировать процесс Docker-изации PHP-приложения, я буду рассматривать блог, изначально разработанный на фреймворке Laravel 5.4.
Представьте, что у вас есть приложения, которые работают уже какое-то время, но есть несколько распространенных случаев, в которых вы решаете, что нужен CLI интерфейс:
cron
задания, которые выполняют HTTP вызовы к некоторому API для запуска различных задач на вашем web-сайте (например, отправка почты и т. д.)chef
или чего-то подобного), а через HTTP- запрос нельзя сделать это красиво
Так как же мы можем сделать это? особенно не переизобретая все заново?
Magallanes - это инструмент для выкладки (deploy) PHP приложений, написанный на PHP. Также известен как MagePHP. Очень прост в использовании и управлении и при этом очень мощный в плане возможностей, которые вы должны попробовать, не смотря на то, что уже существует много средств таких, как Phing, Capistrano, Chef или Deployer…
Если вы сталкивались с Composer или просто обычным apt-get (yum), то вы наверняка знаете или слышали о Bower. Ну или хотя бы можете легко представить что это такое - это менеджер зависимостей для js-библиотек (пакетов).
Относительно недавно в свет вышел BowerPHP. Хотя, конечно, это сложно назвать "вышел", т.к. все версии помечены "alfa". И как вы могли уже догадаться, - это всё тот же Bower, только в профиль написаный на PHP.
Для того, чтобы продукт PHP стал успешным, нужно не только содержание в нем полезного кода. Данный чеклист поможет вашему продукту PHP быть быть серьезно воспринятым сообществом PHP.
Перевод этого чеклиста