Статьи

Семейные CRMs, Guzzle Wrappers и PHP машинное обучение? Sourcehunt!

Пришло время для нашей ежемесячной охоты на новые библиотеки с открытым исходным кодом, чтобы использовать и вносить свой вклад !

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

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

Sourcehunt логотип


Моникак / Моника [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.localHomestead Improved использует .app

Есть много вопросов, которые нужно решить, так что продолжайте, если хотите узнать больше о системе аутентификации пользователей Laravel!


IcyApril / WhatsChanged [22 ★]

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

Этот инструмент использует Git для отслеживания изменений в файлах, а затем перезапускает только соответствующие — это включает измененные тесты. У него есть некоторые жесткие предположения: он предполагает, что ваши классы находятся в srctests Звучит как хорошая вещь для обновления с пиаром, нет?

Внесите свой вклад в такие вещи, как поддержка Windows или поддержка файлов, отличных от .php, и, конечно же, документы и примеры!


php-ai / php-ml [3497 ★]

И последнее, но не менее важное: популярная библиотека машинного обучения для PHP. Не уверен, как мы пропустили это раньше! Эта коллекция алгоритмов ML, портированных на PHP, поставляется с полным набором примеров и объяснений, написанных таким образом, чтобы их мог понять разработчик PHP среднего и продвинутого уровня.

Логотип PHP-ML

Библиотека требует современного PHP (7+) и хорошо документирована .

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


Вот и все на июнь. Нашли что-нибудь, во что вы могли бы погрузить зубы?

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

Как и в прошлый раз (кстати, этот вызов остается невостребованным — у вас есть 500 долларов, если вы это сделаете!), Мы используем вышеуказанные пакеты для вдохновения при создании потенциально полезного приложения или двух:

Приложение + Учебное пособие идеи месяца:

Задача этого месяца — обновить Monica для поддержки напоминаний по электронной почте с помощью Genkgo / mail и нескольких пользователей (используйте пакет viacreative / sudo-su во время разработки), но все они могут видеть одни и те же контакты. Тем не менее, у каждого есть своя панель с личной информацией. Представьте себе вашу близкую семью и семью сестры вашей матери (так что ваши двоюродные братья и сестры). Твоя мать могла видеть на своей приборной панели (кроме своих заметок) даты рождения этой семьи и ее отношения с сестрой, а ты мог видеть свои отношения с двоюродными братьями и отмечать, сколько денег ты одолжил им в прошлый раз виделись Это обновление в виде учебника стоит 500 долларов, так что прыгайте — первым пришел, первым обслужен! Связаться!

Удачного кодирования!