Это неделя с открытым исходным кодом в SitePoint! Всю неделю мы публикуем статьи, посвященные всему, что связано с открытым исходным кодом, свободным программным обеспечением и сообществом, поэтому постоянно проверяйте тег OSW на наличие последних обновлений.
Эта неделя — Неделя открытого исходного кода на SitePoint.com. В то время как мы обычно рассматриваем открытый исходный код здесь, что со всеми учебниками и введениями в удивительные новые библиотеки, пакеты и фреймворки, эта неделя будет немного «теоретической» для изменений.
Мы будем обсуждать открытый исходный код в целом, думать о том, как он влияет на ландшафт нашего языка программирования, что мы можем сделать, чтобы помочь ему распространяться, освещать некоторые интересные проекты с открытым исходным кодом и многое другое. Обязательно ознакомьтесь с другими каналами — мы распространяем Неделю открытого исходного кода по всему сайту с этим тегом , а также через Twitter с хэштегом #OpenSourceWeek .
А пока давайте рассмотрим некоторые проекты с открытым исходным кодом, остро нуждающиеся в авторах и звездах Github.
paragonie / gpgmailer [33 ★]
GPGMailer — это пакет, который позволяет отправлять электронные письма, зашифрованные в GPG (используя zend-mail и Crypt_GPG).
Безопасность электронной почты часто является запоздалой мыслью или, ну, вообще, не мыслью — так что увидеть пакет, который делает приоритетной отправку защищенных электронных писем, — глоток свежего воздуха. GPGMailer может пригодиться, если вы создаете свой собственный почтовый клиент или делаете что-то хакерское, например, фильтруете спам-рекрутеры из своих почтовых ящиков и автоматически отвечаете на них .
Проект «33 звезды» может использовать некоторую любовь — как в тестировании, так и в решении одной хитрой проблемы с замерзшим трубопроводом Трэвис. Проверьте это!
royallthefourth / html-document [3 ★]
Вы когда-нибудь пытались сделать правильный HTML-документ с PHP? Обычно это влечет за собой выписывание HTML в виде строки и его повторение, которое, хотя и эффективно, но не очень эффективно — и, как известно, его сложно автоматизировать. Введите html-document
html-document
Это так просто — плавный ОО-интерфейс для создания HTML-документов. Проект очень молодой, поэтому, пожалуйста, погрузитесь и исследуйте его — посмотрите, что он может и не может делать, что он делает правильно и что он делает неправильно. Мы также хотели бы увидеть учебник по этой теме, поэтому, если вы готовы, напишите нам!
algb12 / GraphDS [5 ★]
По словам автора, GraphDS — это « быстрая реализация структуры данных графа в PHP ».
Проект только начинается, но он начал свою работу — автор сначала разработал его для личного использования, и, осознав, что он чувствует себя более интуитивно понятным, чем то, что PHP может предложить в плане построения графиков, решил превратить его в расширяемый пакет с открытым исходным кодом.
Если вам когда-нибудь понадобились графики в PHP, эту библиотеку стоит проверить — и если у вас есть идеи о том, что добавить в набор функций, теперь у вас есть шанс, пока проект находится в зачаточном состоянии!
ScriptFUSION / Портер [145 ★]
Porter — это библиотека абстракций для импорта данных, которая позволяет легко импортировать данные любого типа в любую систему, если вы сообщаете Porter о них. Например, это находка для разработки пользовательских импортеров для широкого спектра CMS; Вы когда-нибудь задумывались о том, что произойдет, когда какой-то конгломерат купит Medium, и всем вдруг придётся переместить данные в собственные методы?
README является гораздо более полным, чем вступление, которое я мог бы дать здесь в этом коротком тексте, поэтому я призываю вас взглянуть.
Уже набрав немного тяги (145 звезд на момент написания статьи), Портер нуждается в большей помощи в решении тех немногих проблем, которые он испытал, чем в тестировании, так что погрузитесь, если вам нужно увеличить свой вклад в карму!
tomphp / php-context-logger [33 ★]
Новорожденный проект, который позволяет вам добавлять контекст к вашей регистрации с помощью промежуточного программного обеспечения в приложениях PSR-7. Конкретно, это означает, что вы можете «создать» контекст вашего регистратора. Если вы не знакомы с контекстом при ведении журнала, эта проблема объясняет его довольно кратко, а также упоминает «лучший способ» его использования.
В двух словах, контекст — это массив данных, связанных с записываемым вами сообщением. Таким образом, зарегистрированное сообщение может быть «Пользователь вошел в систему», а его контекст может быть ['user_id' => 123]
Этот пакет делает это добавление контекста «обертываемым» — см. README для примеров использования.
Пакет, будучи очень молодым, определенно может использовать некоторую помощь не только в функциях и проблемах (не так много, чтобы помочь в этом), но также в документации, примерах использования и приложениях пакета в реальных сценариях. Вы готовы к задаче?
сидкшатрия / донтбаг [532 ★]
Отладчик на основе Go + C для PHP с изюминкой — помимо возможности отладки выполнения PHP-скриптов шаг за шагом по мере их обработки, он также позволяет отлаживать прошлое — возвращаясь назад по цепочке выполнения. Думайте об этом как об установлении контрольных точек в прошлом и возможности перемотки назад и назад через состояние сценария.
Хотя разработчикам, работающим только на PHP, может быть немного трудно внести в это свой вклад, в основном это Go с добавлением некоторого C, но это фантастический инструмент, который можно использовать, внося вклад в остальные проекты в этом списке, или просто использовать в качестве нового де-факто отладчика.
Есть некоторые проблемы, которые могут быть решены — работа с документами и Docker — но в целом код уже достаточно развит, и звездная инерция уже есть.
ingowalther / image-minify-api [14 ★]
Image-minify-api — это приложение API, которое вы можете установить на свой собственный сервер, а затем использовать в качестве службы минимизации изображений. В некотором смысле, это похоже на части Glide, но в автономном режиме приложения.
Поскольку проекту не хватает популярности, он не был полностью протестирован в реальных сценариях, поэтому он определенно может использовать помощь в этом отношении. Кроме того, одна проблема (запрос на введение квот) находилась в стадии разработки, поэтому они, вероятно, могли бы также использовать помощь там.
В дополнение к оказанию им помощи со звездой Github или комментарием к проблеме, почему бы не получить немного денег на стороне и написать для нас учебник об этом приложении? Это будет иметь дополнительный бонус, предоставляя им столь необходимое воздействие!
HawkBitPhp / hawkbit [37 ★]
Помните Протон ? Это, казалось бы, заброшенный рамочный проект, в котором используются компоненты Лиги , неофициальная «Лига рамок». Hawkbit — ранее известный как Turbine — является расширением Proton в том смысле, что он активно поддерживается и добавляет один или два компонента в микс, чтобы сделать каркас немного более «полным стеком», например, zend-config для конфигурации и Whoops для обработки ошибок, все еще оставаясь «микро».
В кажущемся нескончаемом потоке PHP-фреймворков трудно сказать, почему кто-то выбрал Hawkbit, но с этим также трудно поспорить — он использует не только одни из самых проверенных и опытных компонентов, но и его компоненты также поддерживаются некоторыми крупнейшими именами в мире PHP, в прошлом или настоящем. С нулевым количеством вопросов и нулевым пиаром, не очевидно, что можно было бы внести, но мы на канале PHP SitePoint всегда открыты для новых учебных пособий. Заинтересованы?
Это все проекты, которыми мы должны были поделиться с вами в этом месяце. Кто-нибудь из них привлек ваше внимание? Есть что-нибудь, чтобы поделиться? Пожалуйста, добавьте свои ссылки на нас с помощью хэштега #sourcehunt !
Вывод
Открытый источник здесь, чтобы остаться. Он меняет нашу жизнь каждый день, и большинство людей не осознают этого, и мы должны помочь ему расти, расти, становиться сильнее. Когда программное обеспечение открыто, мы несем ответственность за то, чтобы сделать его лучше, безопаснее и более проверенным в бою, а не авторским. Мы все извлекаем выгоду из этого, и мы все строим нашу карьеру и жизнь на этом. Обязательно ознакомьтесь с остальной частью Недели открытого исходного кода по всему сайту с этим тегом , а также в Twitter с хэштегом #OpenSourceWeek .