Статьи

SourceHunt Xmas 2016 — Подарите Престиж с открытым исходным кодом

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

Sourcehunt логотип


фрикельбрудер / kickoff [24 ★]

KickOff — это инструмент для постоянного мониторинга сайтов .

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

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

Поскольку после развертывания это означает, что сборка, не прошедшая тест KickOff, будет запущена до того, как будут обнаружены ошибки, чтобы остановить ее. Поскольку команда KickOff возвращает количество ошибок (кроме генерации отчета JUnit, совместимого с PHPUnit), вы можете:

  • создайте «тестовый» поддомен для своего проекта, запустите на нем тест и перейдите к производству только после того, как KickOff вернет 0 ошибок на тестовом сайте
  • создайте скрипт отката в вашем конвейере CD, который возвращает страницу к предыдущей версии, если KickOff возвращает номер ошибки выше 0

Первый, безусловно, более удобный для пользователя подход.

KickOff не был запущен должным образом, поэтому мы надеемся, что мы дадим ему несколько подписчиков и авторов, упомянув об этом здесь — это определенно интересный и полезный инструмент.


mpociot / botman [881 ★]

Ботман, с тех пор как я увидел его на Reddit, набрал популярность, но это не значит, что он не заслуживает еще одного крика.

Это «независимая от фреймворка библиотека PHP» для «разработки инновационных ботов» для нескольких платформ — включая, но не ограничиваясь, Slack, Messenger и т. Д.

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

Глубокий взгляд на Botman появится в начале следующего года, но пока вы можете посмотреть и дать нам знать, что вы думаете. Если вы уже использовали его для создания чего-либо, напишите нам — мы будем рады опубликовать пост об этом.


PHPOffice / PhpSpreadsheet [401 ★]

PhpSpreadsheet является новейшим дополнением к семейству PHPOffice — на этот раз задумывалось как полная замена несколько устаревшего PHPExcel.

Приняв передовой опыт, современный PHP и новые принципы проектирования, Марк Бейкер решил, что пришло время начать с нуля и просто отказаться от PHPExcel, а не переходить на Sisyphus и пытаться обновить его.

В результате получается феноменально новая библиотека, которую легко и приятно использовать — что-то, что можно было бы ожидать о чем-либо связанном с таблицами.

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


cweiske / phinde [10 ★]

Phinde — это поисковая система для вашего сайта, включая статические блоги, если они у вас есть. Его полное объяснение и контекст можно найти здесь .

Phinde использует Elasticsearch для достижения его скорости и точности, а Gearman скрытно запускает регулярные обновления и обход целевых доменов и сайтов. Это означает, что ваш индекс автоматически перестраивается при необходимости, и ваш поиск всегда быстрый, эффективный и доступный. Более того, поисковая система может быть размещена на своем собственном сервере — совершенно отдельно от приложения, которое она ищет — так что вы можете легко добавить его на другие сайты с помощью виджетов. Например, вы можете добавить поле поиска вашего блога в свой личный блог, на веб-сайт своей компании и в мобильное приложение — это всего лишь вызов API.

В настоящее время Phinde использует Bootstrap для разметки страницы поиска и результатов, но это легко изменить на что-то более современное или красивое.

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


phpstan / phpstan [461 ★]

Представленный @MartinHujer , PHPStan — это инструмент статического анализа для PHP-кода. Он запускает код перед его выполнением и проверяет синтаксические ошибки, например:

  • Наличие классов и интерфейсов в instanceof, catch, typehints, других языковых конструкциях и даже аннотациях. PHP не делает этого и просто молчит.
  • Наличие переменных при соблюдении границ ветвей и петель.
  • Наличие и видимость вызываемых методов и функций.
  • Наличие и видимость доступных объектов.
  • Правильные типы, назначенные свойствам.
  • Правильное количество параметров, передаваемых конструкторам, методам и функциям.
  • Правильные типы возвращаются из методов и функций.
  • Правильное количество параметров, передаваемых вызовам sprintf / printf, на основе строк формата.

Здесь подробно рассмотрен инструмент.

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

Для получения дополнительной информации см. README или один из открытых вопросов .


amphp / aerys [572 ★]

Aerys, представленный Маркусом Стаабом , является

«Неблокирующее HTTP-приложение, WebSocket и файловый сервер».

Звучит мощно, нет? Действительно, как то, что может использовать игра PHP .

Мы уже упоминали об amphp, но нам еще предстоит охватить аэри в значительной степени. На самом деле Aerys — это PHP-сервер, который готов к использованию, если вы не возражаете против «нестабильных» тегов.

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

Хороший набор документов доступен здесь , наряду с некоторыми изящными руководствами .

Счастливых праздников!

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

Мы не могли бы сделать это без вас, и мы до сих пор не можем, поэтому мы спрашиваем — что вы хотите увидеть больше на SitePoint? В глубине учебники? Рамки конкретных статей? Обзоры книг по программированию? Может быть, рассылки и объяснения популярных проектов PHP с открытым кодом? Все идет! Просто дайте нам знать в комментариях, как мы это сделали и что бы вы хотели, чтобы мы опубликовали.

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

Вот и все за этот месяц (и год!) — это был взрыв! Помните — вы можете легко сообщить мне о некоторых охотничьих проектах с помощью хештега #sourcehunt в Twitter!

Увидимся на другой стороне, веселых праздников!