Пришло время для нашей ежемесячной охоты на новые библиотеки с открытым исходным кодом, чтобы использовать и вносить свой вклад !
Если вы новичок в Sourcehunt, это наш ежемесячный пост, посвященный продвижению проектов с открытым исходным кодом, которые кажутся интересными или многообещающими и могут использовать помощь с точки зрения звезд Github или запросов запросов.
Это наш способ дать отпор — продвигать проекты, которые мы используем (или могли бы использовать), чтобы они получили достаточно информации, чтобы привлечь более широкую аудиторию, мощное сообщество и, возможно, новых спонсоров или спонсоров.
Моникак / Моника [2,067 ★]
Моника взорвалась на Hacker News и ProductHunt на днях, и было уместно упомянуть об этом здесь, несмотря на то, что она набрала уже более 2000 звезд.
Monica — это CRM-система для личных отношений, основанная на Laravel. Не для бизнеса, но буквально для людей в вашей жизни — отслеживание тех, у кого вы еще не купили подарки, денежные займы, дни рождения, встречи и многое другое.
Мы думаем, что это на полпути через обновление (потому что это то, что вы не часто видите) и депрессию (потому что нам действительно нужны приложения, чтобы отслеживать людей в нашей жизни сейчас?), Но, тем не менее, интересно.
Из-за огромного притока интереса со всего мира, у Моники сейчас десятки вопросов и несколько PR, готовых к проверке, не говоря уже о документах, нуждающихся в исправлении, дорожной карте для планирования и многом другом. Если вы хотите, чтобы популярный проект внес свой вклад, вот оно!
genkgo / mail [3 ★]
Gengko / mail утверждает, что является современным переосмыслением почтовых библиотек PHP. Своими словами:
Анализируя, какую почтовую библиотеку использовать при рефакторинге кодовой базы, мы обнаружили, что доступными являются в основном устаревшие библиотеки. Некоторые не используют пространства имен, и каждая библиотека, с которой мы столкнулись, была просто набором скалярных пакетов свойств, чем объекты, использующие инкапсуляцию. Это не критика для этих библиотек. Мы все использовали их, и использовали их с радостью. Тем не менее, мы считаем, что нужны новые библиотеки, которые используют современные принципы.
Предполагается, что почта Gengko будет использоваться, если вы хотите отправлять электронные письма через разные транспорты и протоколы, используя неизменяемые сообщения и потоки, и если потоки и Gengko в одном и том же предложении звучат знакомо, это потому, что мы преследовали их до этого — только тогда, когда они были потоковыми почтовые файлы . Использование очень просто и интуитивно понятно:
$message = (new FormattedMessageFactory())
->withHtml('<html><body><p>Hello World</p></body></html>')
->withAttachment(new FileAttachment('/order1.pdf', new ContentType('application/pdf')))
->createMessage()
->withHeader(new From(new Address(new EmailAddress('[email protected]'), 'name')))
->withHeader(new Subject('Hello World'))
->withHeader(new To(new AddressList([new Address(new EmailAddress('[email protected]'), 'name')])))
->withHeader(new Cc(new AddressList([new Address(new EmailAddress('[email protected]'), 'name')])));
$transport = new SmtpTransport(
ClientFactory::fromString('smtp://user:pass@host/')->newClient(),
EnvelopeFactory::useExtractedHeader()
);
$transport->send($message);
Этот репо остро нуждается в любви: ему нужны звезды, участники и, в основном, тестеры, поэтому, пожалуйста, помогите команде предоставить PHP-сообществу новую, современную, пространственную и инкапсулированную библиотеку имен, готовую к эпохе PHP 7+.
змей / zttp [526 ★]
Если вы не знакомы с эволюцией Guzzle (PHP-клиент PHP, который мы изучаем в премиум-курсе «Изучение PHP», доступном для покупки сейчас ), библиотека стала более профессиональной и менее удобной с каждой новой версией. Новые слои на слоях абстракций и правил, уважающих спецификации, сделали Guzzle невероятно трудным для начала. В сочетании с дальнейшими абстракциями, такими как HTTPlug, предназначенными для предотвращения конфликтов между старой и новой средой, ситуация в целом просто не из приятных.
Введите ZTTP — пакет, который упаковывает Guzzle несколькими простыми в использовании и доступными вспомогательными методами, чтобы он снова стал таким же удобным, как и раньше. Он был создан богом тестирования Laravel: Адамом Уэйтаном, и, зная его код, нечего делать, но документы могут использовать помощь, и всегда есть необходимость в примерах использования и PR с более удобными вспомогательными методами.
viacreative / sudo-su [324 ★]
Существует много приложений, в которых возможность входа в систему от имени другого пользователя является частью бизнес-требования — это особенно популярно в приложениях поддержки, отслеживания рукописей, CRM и аналогичных приложениях, где существует иерархия пользователей. Однако иногда эта функциональность не попадает в окончательные планы, но все равно будет полезна во время разработки, просто для тестирования различных разрешений, параметров пользовательского интерфейса и т. Д.
Пакет viacreative / sudo-su добавляет в любое приложение Laravel небольшой плавающий кликабельный виджет, который позволяет текущему пользователю войти в систему как любой другой пользователь в системе.
Виджет отключен по умолчанию для всех доменов, которые не заканчиваются на dev
.local
Homestead Improved использует .app
Есть много вопросов, которые нужно решить, так что продолжайте, если хотите узнать больше о системе аутентификации пользователей Laravel!
IcyApril / WhatsChanged [22 ★]
Инструмент WhatsChanged предназначен для помощи в тестировании больших кодовых баз со многими тестами. Поскольку выполнение тестов может занять некоторое время, особенно при работе с базой данных или при наличии сотен, удобно просто повторно запустить тесты, которые ссылаются на файлы, которые были изменены.
Этот инструмент использует Git для отслеживания изменений в файлах, а затем перезапускает только соответствующие — это включает измененные тесты. У него есть некоторые жесткие предположения: он предполагает, что ваши классы находятся в src
tests
Звучит как хорошая вещь для обновления с пиаром, нет?
Внесите свой вклад в такие вещи, как поддержка Windows или поддержка файлов, отличных от .php, и, конечно же, документы и примеры!
php-ai / php-ml [3497 ★]
И последнее, но не менее важное: популярная библиотека машинного обучения для PHP. Не уверен, как мы пропустили это раньше! Эта коллекция алгоритмов ML, портированных на PHP, поставляется с полным набором примеров и объяснений, написанных таким образом, чтобы их мог понять разработчик PHP среднего и продвинутого уровня.
Библиотека требует современного PHP (7+) и хорошо документирована .
Требуется помощь по нескольким вопросам, и все еще необходимо добавить больше алгоритмов, поэтому, если вы чувствуете, что можете заняться машинным обучением, почему бы не внести свой вклад и узнать больше одновременно?
Вот и все на июнь. Нашли что-нибудь, во что вы могли бы погрузить зубы?
Как всегда, пожалуйста, напишите нам свои ссылки с хэштегом #sourcehunt ! Если вы создаете что-то с помощью проектов, о которых мы упоминали, или если вы отправляете сложный запрос на извлечение, о котором хотите поговорить, напишите нам, и мы позаботимся о том, чтобы об этом знал весь мир!
Как и в прошлый раз (кстати, этот вызов остается невостребованным — у вас есть 500 долларов, если вы это сделаете!), Мы используем вышеуказанные пакеты для вдохновения при создании потенциально полезного приложения или двух:
Приложение + Учебное пособие идеи месяца:
Задача этого месяца — обновить Monica для поддержки напоминаний по электронной почте с помощью Genkgo / mail и нескольких пользователей (используйте пакет viacreative / sudo-su во время разработки), но все они могут видеть одни и те же контакты. Тем не менее, у каждого есть своя панель с личной информацией. Представьте себе вашу близкую семью и семью сестры вашей матери (так что ваши двоюродные братья и сестры). Твоя мать могла видеть на своей приборной панели (кроме своих заметок) даты рождения этой семьи и ее отношения с сестрой, а ты мог видеть свои отношения с двоюродными братьями и отмечать, сколько денег ты одолжил им в прошлый раз виделись Это обновление в виде учебника стоит 500 долларов, так что прыгайте — первым пришел, первым обслужен! Связаться!
Удачного кодирования!