Статьи

Sourcehunt PHP Xmas 2015: Подари запросы на тягу!

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

Sourcehunt логотип

mindplay-dk / unbox [8 ★]

Нет недостатка в реализациях контейнеров, совместимых с контейнерным взаимодействием . Unbox выделяется тем, как он задокументирован — репозиторий Github содержит впечатляюще полный список методов и их объяснений, прекрасно оборачивая все это в набор демонстраций.

Если вам нужно пройти тесты производительности, Unbox удобно расположен между Pimple и PHP-DI, ближе к Pimple (с более легкой частью). Мы планируем всестороннее сравнение реализаций взаимодействия контейнеров в начале следующего года, но в то же время, если вы ищете хорошо протестированный и чрезвычайно хорошо документированный контейнер для ознакомления, почему бы не этот?

anobii / sainsburys-http-service [4 ★]

Это довольно своеобразная жемчужина — она ​​рекламирует себя как микро-фреймворк для служб REST или HTTP RPC, но на самом деле является оберткой вокруг существующего фреймворка — Slim 3.

В зависимости от Slim 3 он автоматически наследует контейнерное взаимодействие для своих внедрений зависимостей, PSR-3 для ведения журнала и PSR-7 для обработки запросов и ответов, но имеет некоторые дополнительные ограничения. Например, контроллер должен быть не замыканием, а отдельным классом без наследования.

Пример приложения, включенного в репозиторий, довольно прост и интересен, но я лично не вижу преимущества этого пакета по сравнению с самостоятельной сборкой чего-либо микро с помощью Composer.

Хотели бы вы взять это для нас и рассказать нам обо всем, что он приносит на стол? Мы заплатим!

Макасим / Ядм [3 ★]

Yadm — это ODM для MongoDB. Это значительно упрощает чтение и запись в базы данных Mongo. Это очень просто использовать с кривой обучения, такой же мелкой, как у Medoo , так что вы сразу же приступите к работе.

Документы могут использовать справку с примерами и исправлениями некоторых языков, поэтому, если не в коде, почему бы не внести свой вклад таким образом?

xparse / ElementFinder [0 ★]

Описание говорит само за себя:

Извлечение данных из HTML с помощью элегантных выражений xpath / css и подготовка данных с помощью регулярных выражений в одну строку.

Чем это отличается от встроенных методов xpath ? Например, он предлагает свободный интерфейс preg_match / split / replace, который позволяет вам заменять символы на месте. Кроме того, он может использовать CSSselector-компонент Symfony, чтобы использовать CSS-селекторы и для обхода HTML. Это маленький кусочек, чем обертка со свистками, но эти колокольчики наверняка пригодятся.

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

api-платформа / api-платформа [493 ★]

Платформа API в настоящее время является довольно популярным проектом, но все же заслуживает упоминания только потому, что у нас не было времени подробно рассказать о нем на канале (пока!). Это фреймворк для создания приложений на основе API, созданных на основе Symfony и JSON-LD.

С выпуском Symfony 3 и некоторых его вспомогательных компонентов он может показаться немного устаревшим и поначалу слишком сложным для использования, учитывая, что в Symfony теперь есть Guard для более простой аутентификации и микроядро, которое эффективно делает его установку почти так же просто, как Silex, но я все же призываю вас проверить зверя и составить собственное мнение. Если у вас есть приложение, которое вы хотели бы продемонстрировать и написать о своем опыте работы с платформой, сообщите нам, мы будем рады опубликовать ваши выводы!

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

Флинт / Люркер [115 ★]

Пакет с единственной целью просмотра файлов на предмет изменений. Чрезвычайно полезно в таких проектах, как Robo, когда вы пытаетесь удалить проклятие NodeJS из вашего рабочего процесса .

FriendsOfPHP / рассол [671 ★]

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

В настоящее время сопровождающие проекта работают над реализацией Pickle с помощью Composer, чтобы мы могли require Если вы хотите внести свой вклад в следующий гарантированный высококлассный пакет PHP, у вас есть шанс!

php-school / cli-menu [389 ★]

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

Их меню просты в создании, получаются очень симпатичными, а весь проект чрезвычайно хорошо документирован. К сожалению, на данный момент поддержки Windows нет (Windows немного особенная в отношении командной строки, поэтому мы рекомендуем Git Bash в нашем популярном кратком совете по Homestead Improved ), но она работает, по крайней мере, в некоторой форме.

Первоначально пакет был создан в качестве драйвера для веб- сайта http://www.phpschool.io/, который, кажется, является отличным местом, чтобы следить за качественными уроками в будущем!

хумхуб / хумхаб [2991 ★]

И последнее, но не менее важное: на основе сравнительно недавнего фреймворка Yii2 есть Humhub — инструментарий для создания приложений для социальных сетей. Лично я нахожу эту идею очень интересной, но код смущает меня — используемые подходы далеки от лучших практик.

Например, все находится в той же папке, что и фронт-контроллер, поэтому он остается общедоступным, если только не используется Apache (обратите внимание на включение файла htaccess Действительно, проект, кажется, требует Apache .

Файл composer.json* Это делает его подверженным поломке, так как пакеты получают обновления основных версий с критическими изменениями.

Аналогичным образом, нет никаких инструкций по запуску инструментария для VM, а также не предусмотрена конфигурация Vagrant для простой локальной разработки, что будет интересно большинству современных разработчиков, в то время как документы заполнены опечатками и промахами.

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

Более глубокий взгляд на Humhub появится в начале следующего года!


Вот и все для Sourcehunt в этом месяце — последний в 2015 году! Если вам сложно найти проекты, в которые вы могли бы внести свой вклад, пожалуйста, перечитайте список выше и посмотрите, не кажется ли вам что-нибудь интересным. Дайте нам знать, если вы отправите PR или два, и мы расскажем о них в следующем Sourcehunt, когда мы сообщим об активности!

Чтобы предложить проекты, которые вы хотели бы видеть в этом списке в следующем месяце, просто выкрикните твиты с хэштегами #sourcehunt и #php — вот ссылка на комбинацию . Естественно, если вы хотите найти проект, написанный на другом языке, измените его соответствующим образом.

Счастливого Рождества и счастливого участия!