40 лучших инструментов и ресурсов Laravel | Пикабу

40 лучших инструментов и ресурсов laravel

Данная подборка является переводом оригинальной статьи с моего блога.

Если есть идеи что добавить в подборку – буду рад пообщаться в комментах. Наслаждайтесь!

Ресурсы для изучения Laravel

Что я лично считаю классным в Laravel, так это то, что можно легко обучиться работе в нем. Экосистема Laravel это не только инструменты для разработки. У данного фреймворка есть отличная база платформ и курсов, которые помогают изучить основные тонкости работы. Вот некоторые из них:

Laracasts

Laracasts это обучающий ресурс для веб-разработчиков. Ресурс содержит в себе отличные скринкасты о Laravel, Vue, общих понятиях PHP, базах данных и многое другое. Можно сказать, что это как Netflix для вашей будущей карьеры. Обучение можно начать с Laravel from scratch и всегда оставаться в курсе событий с помощью What’s new in Laravel.

Test Driven Laravel

Если мы говорим о техниках разработки, то я предпочитаю использовать разработку через тестирование (TDD). С Laravel эту технику очень легко использовать. Обучиться этому можно с помощью курса Test Driven Laravel. Пройдите видео-курс и сможете выстроить более надежное приложение.

Confident Laravel

Каждый знает, что нужно покрывать свой код тестами, однако только некоторые приложения содержат тесты. Видео-курс Confident Laravel поможет вам устранить барьеры перед написанием тестов. Каждый опытный и амбициозный разработчик пишет тесты. И, конечно же, каждый хочет, чтобы этот процесс занимал меньше времени. Confident Laravel научит вас писать тесты для вашего Laravel приложения и быть полностью в них уверенными.

Laracon Online

Laracon Online — это ежегодная онлайн конференция. Это самый удобный и доступный способ для каждого разработчика почувствовать себя участником конференции Laracon.

Effective PHP

Я настоятельно советую просмотреть видео-курс Нуно Мадуро Writing Effective PHP. Это станет значительным вкладом в образование каждого PHP разработчика. Этот курс обучает тому, как писать код коротко и ясно, а также объясняет основные принципы избежания багов и многое другое.

Laravel Core Adventures

Laravel Core Adventures — это отличный видео-курс об основных концепциях Laravel, который поможет не только получить знания, но и приятно провести время.

Курс Build a Chatbot

Курс Build a chatbot научит вас как разрабатывать, расширять и тестировать чат боты и голосовые боты с помощью PHP.

Laravel Certification

Ну и конечно же, если вы уже получили все необходимые знания и навыки в разработке с Laravel, вы можете подтвердить их с помощью программы сертификации Laravel Certification.

Сообщество Laravel

Сам по себе Laravel уже отличный фреймворк. Но его постоянное развитие очень тесно связано с его сообществом. Разработчики постоянно делятся своим опытом и наработками, дают подсказки и советы, а также отмечают те вещи, которые нуждаются в улучшении. Я бы хотел отметить некоторые из ресурсов, которые необходимы для любого Laravel разработчика.

Laracasts Forum

Laracasts Forum это площадка, где разработчики делятся своим опытом и туториалами. Здесь вы всегда можете попросить совет и обсудить возникшие вопросы.

LaravelIO

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

Slack-канал Larachat

Larachat Slack Workspace — это Slack пространство с различными каналами, которые посвящены разнообразным тематикам.

Laravel News

Laravel News — это официальный новостной ресурс от Laravel, а также еженедельная информационная почтовая рассылка о последних трендах в сообществе Laravel.

Laravel Podcast

Laravel Podcast — это отличная площадка для обсуждения основных трендов в сообществе Laravel.

LaraJobs

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

Laravel Blog

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

Экосистема Laravel

Экосистеме Laravel определенно есть что предложить разработчикам. Я обычно стараюсь не восхвалять ничего чем пользуюсь, а больше склонен критиковать. Однако когда речь идет об экосистеме Laravel, я просто не могу удержаться. Здесь я бы хотел упомянуть несколько оригинальных и очень полезных инструментов, которые могут пригодится в разработке ваших проектов.

Окружение для Разработки

Laravel Valet

Laravel Valet с легкостью установит минималистичное окружение разработки для вашего Laravel приложения. Поистине замечательный инструмент для пользователей MacOS.

Основные характеристики:

– Быстрый (использует приблизительно 7 MB оперативной памяти)

– Легко устанавливается

– Не нуждается в конфигурации (нужно только создать папку в корневой директории)

– Легкий в использовании (обеспечивает простые инструменты командной строки)

– Не нуждается в Vagrant или Docker

– Поддерживает туннели ngrok

– Позволяет вручную устанавливать дополнительные сервисы (такие как Redis или MySQL) с помощью Homebrew

Laravel Valet — это опенсорс софт. Всю документацию к нему можно найти на официальном сайте Laravel.

Laravel Homestead

Laravel Homestead — это подготовленная Vagrant сборка, которая обеспечивает отличное окружение для разработки. У вас нет потребности в установке PHP, веб сервера или какого-либо другого программного серверного обеспечения на локальный компьютер.

Основные характеристики:

– Работает на всех операционных системах: Mac, Windows и Linux

– Vagrant коробки легко удаляются и пересоздаются

– Все необходимые сервисы доступны “прямо из коробки” (такие как PHP 7.3, Nginx, MySQL, Redis и другие)

– Обеспечивает возможность использование общей папки, между виртуальной-машиной и основной

Laravel Homestead — это также опенсорс софт. Всю документацию для его установки можно найти на официальном сайте Laravel.

Laravel Расширения и Пакеты

Laravel Passport

Laravel Passport — максимально простой инструмент для API аутентификации. Он предоставляет полную реализацию сервера OAuth2 для вашего приложения.

Основные характеристики:

– Упрощает процесс установки сервера OAuth2 и делает его легким в использовании благодаря инструменту командной строки

– Поставляется со всеми необходимыми миграциями базы данных, контроллерами и роутами

– Содержит встроенные компоненты Vue.JS

Laravel Passport находится в свободном доступе. Всю необходимую документацию для установки вы можете найти здесь.

Laravel Scout

Добавьте полнотекстовый поиск к вашим Eloquent-моделям с Laravel Scout. Это удобный софт для синхронизации поисковых индексов с вашими записями Eloquent.

Основные характеристики:

– Поставляется с драйвером Algolia

– Позволяет написать свой драйвер вместо Algolia и дополнить Scout своей собственной реализацией поиска, например: Elasticsearch, MySQL full-text search, TNTSearch и т.д.

Laravel Scout является опенсорс софтом. На официальном сайте вы можно узнать про него больше.

Laravel Spark

Laravel Spark — это удобный инструмент для ускорения разработки SaaS приложений.

Основные характеристики:

– Отличный инструмент для разработки вашего продукта

– Позволяет сфокусироваться на привнесении ценности приложения для пользователя

– Обрабатывает авторизацию пользователей, запланированные события, платежи и многое другое

– Максимально кастомизируемый

– Дает больше возможностей вашему приложению с помощью Vue.JS

– Укомплектован Stripe.js v3 для обеспечения максимального уровня защиты для процессов оплаты и подписки

– Использует Bootstrap 4.0

– Поддерживает последние версии Laravel

– Имеет полную локализацию

– Укомплектован удобной и интуитивной панелью настроек

– Позволяет сфокусироваться на бизнес-логике и увидеть как будет выглядеть конечный продукт

Laravel Spark это платный пакет, который можно купить по цене $99 за сайт или $299 без лимита на количество сайтов. Больше информации можно найти на официальном сайте.

Laravel Nova

Laravel Nova — это панель администрирования для Laravel с великолепным UI и UX дизайном, которая ускоряет процесс разработки.

Основные характеристики:

– Обеспечивает полный CRUD-интерфейс для ваших Eloquent-моделей

– Легко добавляется к вашему Laravel приложению, как к новому, так и к уже существующему

– Конфигурируется с помощью простого PHP кода

– Отображает различные метрики для вашего приложения (включает хелперы для построения запросов)

– Интегрируется с политиками авторизации Laravel (даже для свзязей, линз, полей и – инструментов)

– Поставляется с Nova CLI для обеспечения полного контроля над работой с Nova

– Предоставляет откладывать действия в очередь

– Позволяет добавлять линзы для контроля над Eloquent запросами

– Предоставляет возможность создавать собственные инструменты, с помощью командной строки

– Можно интегрировать с Laravel Scout для получения сверхбыстрых результатов поиска

– Содержит встроенные фильтры для псевдо удаленных ресурсов

– Поддерживает последние версии Google Chrome, Apple Safari и Microsoft Edge

Отлично разработанная панель Nova имеет стоимость от $99 до $199 за проект. Всю информацию можно найти здесь.

Laravel Dusk

Если вы хотите протестировать свое приложения и увидеть его глазами пользователя, попробуйте Laravel Dusk. Этот инструмент позволяет автоматически тестировать приложение с через браузер с помощью удобного для разработчика API. Laravel Dusk по умолчанию поставляется с Chromedriver.

Основные характеристики:

– Не требует установки JDK или Selenium (но вы можете использовать любой Selenium драйвер если хотите)

– Является полезным инструментом для веб-приложений использующих javascript

– Упрощает процесс тестирования различных кликабельных элементов вашего приложения

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

Инструмент находится в открытом доступе. Более детальную информацию о Laravel Dusk можно найти на официальном сайте.

Laravel Socialite

Laravel Socialite — это пакет, который обеспечивает гибки интерфейс для аутентификации с OAuth провайдерами, таких как Facebook, Twitter, Google, LinkedIn, GitHub и многих других.

Другие подписки:  Вайбер станет платным: правда или нет

Основные характеристики:

– Прост в использовании

– Содержит практически всю необходимую логику для реализации аутентификации с помощью соц. сетей

– Широко поддерживается сообществом с множеством готовых провайдеров

Всю необходимую информацию касательно Laravel Socialite можно найти здесь.

Laravel Echo

Laravel Echo — это JavaScript библиотека, которая позволяет вам подписываться на каналы и прослушивать транслируемые события через WebSoсkets.

Основные характеристики:

– Позволяет реализовывать обновления в реальном времени в вашем приложении

– Обеспечивает любые типы каналов (public, private и presence)

– Дает возможность транслировать P2P события с помощью метода whisper

– Работает с популярными решениями “прямо из коробки”, такие как сервис Pusher или библиотека Socket.IO

Laravel Echo можно установить бесплатно. Вся необходимая документация есть на официальном сайте.

Laravel Medialibrary

Пакет Laravel Medialibrary ассоциируетвсе типы файлов с Eloquent-моделями. Этот пакет делает работу с медиа-объектами удивительно легкой.

Основные характеристики:

– Позволяет напрямую переносить любые медиа-файлы из интернета с помощью url

– Позволяет вам использовать собственную структуру директорий

– Дает возможность определить конверсии файла. Размеры изображений, регулировки, эффекты и другое

– Обеспечивает автоматическую оптимизацию изображений

– Позволяет создать несколько медиа-коллекций для одной Eloquent-модели

Laravel Medialibrary открывает огромное количество возможностей. Всю документацию для установки можно найти здесь.

Laravel Mix

Laravel Mix (в прошлом назывался Laravel Elixir) — это инструмент, который даёт вам практически полностью управляемый процесс сборки фронтенда. Он обеспечивает понятный и удобный API для определения базовых этапов сборки Webpack для вашего Laravel приложения.

Основные характеристики:

– Обеспечивает широкий API удовлетворяющий практически все ваши нужды

– Работает как обёртка над Webpack и позволяет расширить его

– Исключает все трудности связанные с установкой и работой с Webpack

– Работает с современными инструментами javascript и фреймворками: Vue.JS, React.JS, Preact, TypeScript, Babel, CoffeScript

– Транспилирует и связывает Less, Sass и Stylus в CSS файлы

– Поддерживает BrowserSync, Hot Reloading, Assets versioning, Source Mapping “прямо из коробки”

Laravel Mix можно установить бесплатно. Всю документацию можно увидеть на официальном сайте.

Laravel Cashier

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

Основные характеристики:

– Упрощает использование сервиса оплаты подписок Stripe

– Простая в использовании и понимании кодовая база

– Дает библиотеке Stripe PHP Library понятный и интуитивный интерфейс

– Работает с купонами, временными подписками, одноразовыми платежами, генерирует PDF инвойсы и многое другое

– Предоставляет совместимость с нормами SCA для Европы

Пакет абсолютно бесплатный. Установите Laravel Cashier с помощью всей необходимой документации.

Laravel Envoy

Laravel Envoy — очень полезный инструмент запуска задач с чистым и минималистичным синтаксисом.

Основные характеристики:

– Упрощает процесс развертывания

– Использует синтаксис в стиле Blade

– Может использоваться вне фреймворка Laravel (и даже PHP)

– Очень прост в конфигурировании

– Имеет функциональность “историй” которые группируют несколько задачпод одним удобным именем. Таким образом вы можете группировать небольшие и конкретные задачи в более большие. Каждая “история” может быть запущена как обычная задача

– Позволяет запускать задачи на нескольких серверах

– Позволяет параллельное выполнение

– Поддерживает рассылку уведомлений в Slack и Discord (вы сможете получать уведомления после исполнения каждой задачи)

Laravel Envoy — это бесплатный инструмент, документацию к которому можно получить здесь.

Laravel Horizon

Laravel Horizon — это пакет для отслеживания ключевых показателей системы ваших очередей Redis.

Основные характеристики:

– Позволяет отслеживать очереди с понятным веб UI

– Обеспечивает детализированный и доступный интерфейс для просмотра и повторного выполнения неуспешно завершившихся задач

– Позволяет отслеживать соответствующие метрики во время выполнения (производительность задач, повторные запуски и неудачи) в реальном времени

– Выводит недавние повторыне запуски задач, непосредственно на детальной странице неудачно завершившихся задач

– Хранит все конфигурации воркера очередей в одном конфигурационномфайле (таким образом, вся конфигурация находится под системой контроля версий)

– Упрощает процесс коллаборации с командой

– Позволяет использовать автоматический балансировщик нагрузки для ваших процессов рботающих с воркерами очередей

– Имеет полезные уведомления

– Позволяет вам тегировать задачи(и автоматически назначает тэги большинству задач)

Laravel Horizon доступен бесплатно. Всю документацию можно найти на официальном сайте.

BotMan Studio

BotMan Studio — это приложение выстроенное на фреймворке Laravel для более эффективной разработки ваших чат ботов.

Основные характеристики:

– Предоставляет реализацию web-драйвера. Вы можете разработать ваш чат бот локально и взаимодействовать с ним через Vue.JS чат виджет

– Подходит для различных платформ (Slack, Telegram, Amazon Alexa, Cisco Spark, Facebook Messenger, Hangouts Chat, HipChat и других)

– Его логика может быть использована для написания собственного чат бота конкретно для вашего приложения

– Обеспечивает инструменты для тестирования ваших чат ботов

– Поддерживает мидлвары, NLP (Natural Language Platforms), извлечение информации пользователя и ее хранение

BotMan Studio можно установить с помощью всей необходимой документации.

Laravel Tenancy

Laravel Tenancy — это инструмент для разработки многопользовательских Laravel платформ.

Основные характеристики:

– Обеспечивает быстрое решение для Laravel без потери гибкости

– Позволяет вам использовать метод скаффолдинга для многопользовательских SaaS платформ вне зависимости от сложности проекта

– Обеспечивает понятное разделение активов (assets) и баз данных

– Поставляется с закрытой и опциональной интеграцией в веб сервер

– Отлично подходит для маркетинговых компаний, которые предпочитают повторно использовать функционал для других проектов

– Позволяет добавлять конфигурации, код, маршруты и т.д. для конкретного арендатора

– Обеспечивает туториалы по интеграции с такими популярными решениями как Laravel Permissions и Laravel Medialibrary

Пакет Laravel Tenancy бесплатный для проектов любого типа. Всю необходимую информацию можно найти здесь.

Lumen

Если у вас нет необходимости использовать полный фреймворк Laravel, то вам определенно понравится Lumen. Это микро-фреймворк, который минимизирует процессы загрузки.

Основные характеристики:

– Работает очень быстро

– Отлично подходит даже если нужна поддержка как веб, так и мобильного приложения

– Очень полезен для микро-сервисов и различных API

– Позволяет работать с Eloquent ORM, и другими Laravel компонентами без использования полного фреймворка

– Упрощает процессы роутинга, кэширования и другие

Lumen — опенсорс софт. Вся необходимая информация по нему находится здесь.

Laravel Telescope

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

Основные характеристики:

– Упрощает процесс разработки

– Обеспечивает удобный интерфейс для отслеживания и отладки многих аспектов вашего приложения

– Расширяет горизонты процесса разработки давая прямой доступ к широкому спектру информации

– Снижает количество багов и помогает понять как улучшить приложение

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

– Собирает информацию относительно того, сколько времени занимает процесс выполнения всех необходимых команд и очередей

Устанавливайте Laravel Telescope бесплатно. Вся документация содержится на официальном сайте.

Laravel WebSockets Package

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

Основные характеристики:

– Полностью берет на себя серверную часть WebSockets

– Заменяет Pusher и Laravel Echo Server

– Основан на Ratchet, но не требует от вас настраивать Ratchet самостоятельно

– Укомплектован панелью отладки, работающей в реальном времени

– Предоставляет график в реальном времени, что позволяет отслеживать ключевые метрики WebSockets (пиковые соединения, количество отправленных сообщений и сообщения поступающие по API)

– Может использоваться в многопользовательских приложениях

– Поставляется с сообщениями протокола pusher (все пакеты, которые вы уже используете будут также работать с Laravel WebSockets)

– Полностью совместим с Laravel Echo

– Сохраняет все основные характеристики Pusher (private и presence каналы, Pusher HTTP API)

Документацию для установки Laravel WebSockets можно найти здесь.

Другие полезные сервисы Laravel

Laravel Forge

Laravel Forge сможет максимально упростить процессы конфигурирования и развертывание веб-приложения. Этот сервис берет на себя большую часть административной работы.

Основные характеристики:

– Обеспечивает легкое управление сервером через простой и понятный UI

– Работает с Digital Ocean, Linode, AWS, Vultr провайдерами “прямо из коробки”

– Дает возможность устанавливать пользовательскимиVPS

– Предоставляет сконфигурированный обновлённый софт для всех ваших нужд (Ubuntu, PHP, Nginx, MySQL и другие)

– Позволяет больше не мучаться с развертыванием и хостингом, а сконцентрироваться на разработке

– Берет на себя трудности с созданием и конфигурированием нового сервера

– Позволяет перезапустить каждый сервис и целый сервер напрямую через UI

– С легкостью устанавливает необходимые SSH ключи для доступа к серверу

– Устанавливает сертификаты SSL в считанные минуты

– Поддерживает LetsEncrypt (бесплатные SSL сертификаты) “прямо из коробки”

– Позволяет быстро сконфигурировать Nginx для доменов и поддоменов

– Обеспечивает простые настройки защищенной сети для горизонтального масштабирования

– Позволяет собирать, настраивать сервера и делиться ими с командой

– Позволяет прикреплять Git репозиторий к каждому сайту для конфигурирования

– Поддерживает GitHub, BitBucket, GitLab и пользовательские репозитории

– Обеспечивает авто-развертывания основанное на обновлении ветки Git

– Предоставляет простые скрипты для развёртыванияпозволяя запустить его с помощью “Deployment Trigger Url”

Другие подписки:  Как использовать один аккаунт на разных устройствах? — Amediatekа

– Конфигурирует запланированные задачи, правила брандмауэра и очереди

– Подходит для любых PHP фреймворков

– Обеспечивает автоматическую установку и настройку для Blackfire и Papertail

Laravel Forge это платный сервис. Цена зависит от выбранного плана и колеблется от 12$ до 39$ в месяц. Для каждого плана действует 5-дневная бесплатная пробная версия. Узнать больше про Laravel Forge можно на официальном сайте.

Laravel Vapor

А как насчет безсерверной платформы развертывания, которая делает всю работу за вас? Заверните мне две, пожалуйста. Я говорю о сервисе Laravel Vapor, который я лично нахожу весьма впечатляющим.

Основные характеристики:

– Это авто-масштабируемая платформа поддерживаемая сервисом AWS Lambda

– Поставляется с авто-масштабируемой базой данных, кластерами кэша и воркерами очередей

– Позволяет с легкостью управлять инфраструктурой Laravel

– Позволяет напрямую загружать файлы на S3 с помощью встроенных JavaScript утилит Vapor

– Обеспечивает развертывание без простоя и его откаты

– Дружествен к использованию CI

– Предоставляет переменные окружения, управление DNS и базами данных (включая восстановление на момент времени и масштабирование)

– Позволяет использовать пользовательские доменные имена

– Предоставляет возможность создания “секретов”. Это как переменные окружения, но зашифрованные в потоке, версионируемые и без лимита в 4 kb

– Поставляется с автозагрузкой активов (assets) в Cloudfront CDN во время развертывания

– Позволяет управлять и обновлять сертификаты

– Предоставляет уникальные человеко-понятные URLы для каждого окружения, обеспечивая быстрый просмотр

– Поддерживает ключевые метрики (приложения, базы данных и кэша)

– Обеспечивает туннели к базам данных и кешу, позволяя осуществлять простой локальный осмотр

– Укомплектован удобным CLI инструментом

У Laravel Vapor фиксированная цена для неограниченного количества проектов и развертываний. Месяц использования будет стоить $39, годовое использование — $399 (без учета оплаты за облако AWS). Подробную информацию можно получить на официальном сайте Laravel Vapor.

Chipper CI

Если вы искали инструмент для непрерывной интеграции в Laravel, Chipper CI это то, что вам нужно.

Основные характеристики:

– Запускает PHPUnit и Laravel Dusk тесты бесшовно и не требует дополнительных настроек

– Обеспечивает действительно быстрый и стабильный Laravel-ориентированный CI

– Использует интеллектуальное кеширование зависимостей, позволяя ускорить сборку

– Обеспечивает легкую интеграцию развертывания с Laravel Forge, Envoyer и Vapor

Ну что тут скажешь, снимаю шляпу перед Дэвидом Хемфиллом и Крисом Фидао, которые создали этот отличный инструмент и облегчили жизнь любого Laravel разработчика. ChipperCI — платный сервис, который можно приобрести по цене $39 в месяц. Этот план идет с 14-дневным бесплатным пробным периодом и не ограничивает вас в количестве проектов, участников проектов и позволяет 1 конкурентную сборку. Посетите официальный сайт Chipper CI чтобы узнать все детали.

Flare

Flare — это инструмент для трекер ошибок, которого так ждали разработчики Laravel.

Основные характеристики:

– Обеспечивает моментальные решения для различных проблем и содержит необходимую для этого документацию

– Обеспечивает понятный и сфокусированный интерфейс для решения различных задач

– Собирает ошибки local и production окружений

– Позволяет Ignition старице ошибки автоматически исправить ошибку одним кликом

– Позволяет вам коллаборировать с помощью функции “поделиться исключением” чтобы эффективно исправлять ошибки

– Позволяет сократить время на исправление багов

– Обеспечивает трекинг исключений и уведомлений

Flare дает 7-дневный бесплатный пробный период. Потом вы можете выбрать удобный для вас план. Есть 3 плана с ценами от $29 до $279 в месяц и 3 плана стоимостью от $319 до $3069 за год. Все детали можно посмотреть здесь.

Laravel Shift

А что если я скажу вам, что вы можете обновлять версии Laravel автоматически? Ну, в общем-то даже не вы, а Laravel Shift.

Основные характеристики:

– Обновляет версии Laravel автоматически и мгновенно

– Обеспечивает самый быстрый способ обновления любой версии Laravel

– Экономит ваше время и бережет ваши нервы

– Работает идеально с Bitbucket, Gitlab и GitHub проектами

– Не хранит копию вашего кода

Сервис Laravel Shift предлагает несколько планов, которые удовлетворят все ваши нужды. Цена варьируется от $7 до $59 в месяц. Подробную информацию можно получить здесь.

Laravel Envoyer

Laravel Envoyer — это сервис развертывания с нулевым простоем для ваших PHP и Laravel приложений.

Основные характеристики:

– Обеспечивает полностью функциональное приложение конечному пользователю в процессе проведения развертывания

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

– Обеспечивает понятный и удобный UI для настройки развертывания

– Интегрируется с GitLab, GitHub, Bitbucket и Slack

– Предоставляет возможность интеграции с self-hosted GitLabОтслеживает отложенные команды и задания

– Обеспечивает плавные откаты развертывания

– Позволяет неограниченное число участников команды и безлимитное количество развертываний

Ежемесячная оплата Laravel Envoyer составляет $10-$50. Цена зависит от количества проектов. Сервис дает 5-дневный бесплатный пробный период. Для получения более детальной информации вы можете перейти на официальный сайт.

Экосистема Laravel набирает обороты

Как по мне, получилась довольно впечатляющая подборка. Примите во внимание, что это еще не все существующие инструменты и сервисы, а только те, которые я сам высоко оцениваю.

Я вижу что фреймворк Laravel с каждым годом лишь набирает и набирает популярность. Сообщество Laravel растет с непреодолимой скоростью. Что это значит для нас? Как минимум то, что в 2021 и последующих годах количество новых инструментов и сервисов значительно вырастет. Их использование определенно ускоряет процесс разработки проектов и, конечно же совершенствуют их качество.

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

Webhooks & защита от csrf

Поскольку веб-перехватчики Stripe должны обходить защиту Laravel CSRF , обязательно укажите URI в качестве исключения в промежуточном программном обеспечении VerifyCsrfToken или укажите маршрут вне группы промежуточного программного обеспечения web:

protected $except=[
    'stripe/*',
];

Кассир автоматически обрабатывает отмену подписки при неуспешном списании средств, но если у вас есть дополнительные события веб-перехватчика, которые вы хотели бы обработать, расширьте контроллер веб-перехватчика. Имена ваших методов должны соответствовать ожидаемому соглашению кассира, в частности, методы должны иметь префикс handle и ” camel case ” имя веб-перехватчика, который вы хотите обработать.

Добавление подписок

Если вы хотите добавить подписку для клиента, у которого уже установлен метод оплаты по умолчанию, вы можете использовать метод add при использовании метода newSubscription:

Дополнительная информация

Если вы хотите указать дополнительные сведения о клиенте или подписке, вы можете сделать это, передав их в качестве второго и третьего аргументов методу create:

Количество

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

Купоны

Если вы хотите применить купон при создании подписки, вы можете использовать метод withCoupon:

Неполное и просроченное состояние

Если для платежа требуется дополнительное подтверждение, подписка останется в состоянии incomplete или past_due, как указано в столбце базы данных stripe_status. Кассир автоматически активирует подписку клиента через веб-перехватчик, как только будет завершено подтверждение платежа.

Для получения дополнительной информации о состояниях incomplete и past_due обратитесь к нашей дополнительной документации .

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

Уведомление о платеже кассира можно включить, установив в переменной среды CASHIER_PAYMENT_NOTIFICATION класс уведомления. По умолчанию это уведомление отключено. Конечно, Cashier включает класс уведомлений, который вы можете использовать для этой цели, но вы можете указать свой собственный класс уведомлений, если хотите:

CASHIER_PAYMENT_NOTIFICATION=LaravelCashierNotificationsConfirmPayment

Чтобы гарантировать доставку уведомлений о подтверждении платежей вне сеанса, убедитесь, что веб-перехватчики Stripe настроены для вашего приложения и что веб-перехватчик invoice.payment_action_required включен на панели управления Stripe.

{note} Уведомления будут отправляться, даже если клиенты вручную производят платеж, требующий дополнительного подтверждения. К сожалению, Stripe не может узнать, что платеж был произведен вручную или ” вне сеанса “. Но клиент просто увидит сообщение ” Платеж успешно “, если он посетит страницу оплаты после того, как уже подтвердит свой платеж. Покупатель не сможет случайно подтвердить один и тот же платеж дважды и случайно списать второй платеж.

Многие объекты Cashier являются оболочками для объектов Stripe SDK. Если вы хотите напрямую взаимодействовать с объектами Stripe, вы можете легко получить их, используя метод asStripe:

$stripeSubscription=$subscription->asStripeSubscription();

$stripeSubscription->application_fee_percent=5;

$stripeSubscription->save();

Вы также можете использовать метод updateStripeSubscription для обновления подписки Stripe напрямую:

$subscription->updateStripeSubscription(['application_fee_percent' => 5]);

Обмен

Вы также можете изменить планы, связанные с многоплановой подпиской. Например, представьте, что вы используете подписку basic-plan с надстройкой chat-plan и хотите перейти на план pro-plan:

Объемы подписки

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

Определение пробных дней в stripe /cashier

Вы можете указать, сколько пробных дней получит ваш план, на панели инструментов Stripe или всегда передавать их явно с помощью Cashier. Если вы решите определить пробные дни вашего плана в Stripe, вы должны знать, что новые подписки, включая новые подписки для клиента, у которого была подписка в прошлом, всегда будут получать пробный период, если вы явно не вызовете метод trialDays(0).

Если вы хотите предложить пробные периоды без предварительного сбора информации о способе оплаты пользователя, вы можете установить в столбце trial_ends_at записи пользователя желаемую дату окончания пробного периода. Обычно это делается во время регистрации пользователя:

Другие подписки:  Что значит отписаться - Значения слов

Освобождение от налогов

Кассир также предлагает методы, позволяющие определить, освобожден ли клиент от уплаты налогов, путем вызова Stripe API. Методы isNotTaxExempt, isTaxExempt и reverseChargeApplies доступны в модели с оплатой:

Отображение информации о счете

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

Пропорция

По умолчанию Stripe пропорционально распределяет расходы при добавлении или удалении планов из подписки. Если вы хотите внести корректировку в план без пропорционального распределения, вам следует связать метод noProrate с операцией плана:

Проставки

По умолчанию Stripe распределяет расходы при переключении между планами. Метод noProrate может использоваться для обновления подписки без пропорционального распределения платы:

Синхронизация налоговых ставок

При изменении жестко запрограммированных идентификаторов налоговых ставок, возвращаемых методом taxRates, налоговые настройки всех существующих подписок для пользователя останутся прежними. Если вы хотите обновить значение налога для существующих подписок с помощью возвращенных значений taxTaxRates, вы должны вызвать метод syncTaxRates в экземпляре подписки пользователя:

Способы оплаты подписок

При хранении кредитных карт для покупателя для будущего использования необходимо использовать Stripe Setup Intents API для безопасного сбора сведений о способе оплаты клиента. ” Установочное намерение ” указывает Stripe на намерение взимать плату с помощью метода оплаты клиента.

Свойство кассира Billable включает в себя createSetupIntent, чтобы легко создать новое намерение установки. Вы должны вызвать этот метод из маршрута или контроллера, который будет отображать форму, которая собирает сведения о способе оплаты вашего клиента:

Способы оплаты разовых сборов

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

Затем можно использовать библиотеку Stripe.js для прикрепления элемента Stripe к форме и безопасного сбора сведений о платеже клиента:

Статус отмененной подписки

Чтобы определить, был ли пользователь когда-то активным подписчиком, но отменил свою подписку, вы можете использовать метод cancelled:

У laravel появятся платные премиальные компоненты | laravel по-русски

Оригинальная статья была опубликована 5 января 2021 года — прим. пер.

Taylor Otwell — непосредственный автор и руководитель проекта Laravel — вчера неожиданно заявил, что следующая версия Laravel (4.2) станет придерживаться модели «freemium» для некоторых «не критичных» компонентов. По его словам:

Ядро фреймворка должно включать только компоненты, которые нужны большинству веб-приложений. Но как быть с тем, что нужно многим из нас? Есть кое-каких отличные компоненты, которые я хочу создать за следующие 5 месяцев и я думаю, что они добавят в Laravel самые обалденные возможности! […] Я называю их «расширениями Laravel» и одно из них у меня уже написано! […] Эти премиальные, необязательные компоненты Laravel […]

Это означает, что начиная со следующей версии самые лучшие возможности Laravel станут платными. Это решение, по видимому, даёт основания для опасений некоторых разработчиков, которые уже задавались вопросом о финансовом обеспечении проекта «Laravel». С одной стороны, нет особой информации ни об организации, которая стоит за Laravel, ни о том, получала ли она финансовую поддержку от частных инвесторов. Больше того, прошлые попытки получить средства от сообщества, такие как профиль Тейлора на GitTip, не увенчались успехом (из запланированных $500 в неделю было достигнуто лишь $70).

Вас может удивить то, что мы говорим о Laravel на сайте, посвящённом Symfony. Однако если вы посмотрите историю наших сообщений, то увидите, что мы всегда с удовольствием отслеживали действия наших основных конкурентов (и не только в мире PHP). Даже если в прошлом у Symfony их было много, то сейчас главный из них — это Laravel. На самом деле, вчера Laravel превзошёл Symfony по числу звёзд на GitHub и, таким образом, стал самым популярным PHP-фреймворком в мире.

Несколько месяцев назад на этом самом сайте мы создали голосование о гипотетическом рынке пакетов (bundle marketplace) для Symfony. Более 60% участников опроса сказали, что они, действительно, готовы платить за высококачественные пакеты. Тем не менее, эта идея потеряла опору в сообществе Symfony и даже сам Fabien Potencier недавно заявил следующее:

Symfony выпускается под крайне свободной лицензией (MIT) и это никогда не изменится; у нас нет в планах переводить её в разряд freemium-фреймворков и, в любом случае, я думаю, что это лишено смысла.

Таким образом, такое решение Laravel создаст главное различие между двумя фреймворками: Symfony останется свободной (libre) и бесплатной (gratis), в то время как Laravel будет свободным и премиальным (freemium). Как вы думаете, сделал ли Laravel правильный выбор? Думаете ли вы, что это решение подтолкнёт и другие фреймворки, такие как Symfony, перейти к модели freemium в течении нескольких лет? Или вы, наоборот, считаете, что это решение ознаменует начало конца проекта «Laravel»?

Вопросы обращены к аудитории symfony.es. Комментарии можно прочитать в оригинальной статье (исп.) — прим. пер.

Обновление 5 января 2021: некоторые высказали несогласие в Твиттере с определёнными идеями в этой статье, на чём я хочу остановиться отдельно.

@SergiGP уверен, что не правильно считать Symfony и Laravel «конкурентами» (соперниками), так как, в конечном счёте, Laravel основам на Symfony. Я знаю, что слово «соперник» (rival) иногда имеет неганивный подтекст, но на самом деле это очень «позитивное» слово. По определению Королевской Академии Испании:

Rival — говорится о человеке, который соперничает с другим, стараясь достичь похожей цели или превзойти своего соперника.

На мой взгляд это определение отлично описывает взаимоотношения Laravel и Symfony. Оба фреймворка соперничают друг с другом за право быть выбранными для разработки на PHP как отдельными программистами, так и компаниями. Это слово не содержит такого неганивного подтекста, как слово «враг» (я использовал его лишь однажды в 2009 и только что отредактировал то место). Вновь обратимся к энциклопедии:

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

С другой стороны, @deambulando считает, что не верно называть только что предложенную модель распространения Laravel «freemium». В соответствии с определением на Wikipedia:

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

В соответствии со словами Тейлора:

Laravel продолжит быть бесплатным в своей основной части и будет взимать плату за некоторые из своих продвинутых и самых ошеломительных возможностей.

В моём понимании это высказывание отлично укладывается в определение freemium-продукта или услуги. Он в буквальном смысле говорит, что эти возможности будут сугубо платными: «они добавят в Laravel самые обалденные возможности!».

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

Утилита – система подписок на новостную рассылку

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

Простым решением будет использование Mailchimp или любого другого cервиса.

Но допустим вы хотите просто сгенерировать простое представление HTML и отправить его по электронной почте. И использование подобного сервиса будет затруднительным, без какой-либо интеграции с сайтом.

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

Затем вы создаете запланированную команду, которая запускает задание для фактической отправки письма на все эти адреса электронной почты.

И если, как и я, вы создаете новые проекты каждый месяц, вы, вероятно, захотите внедрить одну и ту же таблицу «подписчиков» во все свои проекты.

Здесь вам поможет пакет mydnic / laravel-subscribers!

Установка этого пакета в свой проект мгновенно предоставит вам модель подписчика с соответствующей таблицей.

Все, что вам нужно сделать, это добавить простую форму в свой шаблон. Также предоставляется код для этой формы.

Установка

Вы можете использовать Composer для установки пакета на Laravel:

composer require mydnic/laravel-subscribers

Пакет автоматически зарегистрируется в приложение.

Затем вы должны опубликовать миграцию с помощью:

php artisan vendor:publish --provider="MydnicSubscribersSubscribersServiceProvider" --tag="subscribers-migrations"

Использование

В вашем шаблоне, вам просто нужно добавить форму, которую вы можете настроить так, как захотите.

Отписка

Пакет также поддерживает отписку от рассылки. Просто предоставьте эту ссылку своим подписчикам:

<a href="{{ route('subscribers.delete', ['email' => $subscriber->email]) }}">Отписаться</a>

Будет создана ссылка типа /subscribers/delete?email=email@example.com.

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

Элементы подписки

Если подписка состоит из нескольких планов, в таблице subscription_items вашей базы данных будет храниться несколько элементов подписки ” “. Вы можете получить к ним доступ через отношение items в подписке:

Оцените статью
Подписки Help
Добавить комментарий