Hello, Habr! I present to you the selection, which is a translation of my
original article .
If you have any ideas what to add to the collection, I will be glad to talk in the comments. Enjoy it!
Resources for Learning Laravel
What I personally consider cool in Laravel is that you can easily learn how to work in it. The Laravel ecosystem is not just development tools. This framework has an excellent database of platforms and courses that help to learn the basic subtleties of work. Here are some of them:
Laracasts
Laracasts is a learning resource for web developers. The resource contains excellent screencasts about Laravel, Vue, general concepts of PHP, databases and much more. You could say it's like Netflix for your future career. You can start training with
Laravel from scratch and always stay up to date with
What's new in Laravel .
Test driven laravel
If we are talking about development techniques, then I prefer to use development through testing (TDD). With Laravel, this technique is very easy to use. You can learn this with the
Test Driven Laravel course. Take a video course and you can build a more reliable application.
Confident laravel
Everyone knows that you need to cover your code with tests, but only some applications contain tests. The Confident Laravel video course helps you remove barriers to writing tests. Every experienced and ambitious developer writes tests. And, of course, everyone wants this process to take less time.
Confident Laravel will teach you how to write tests for your Laravel application and be completely confident in them.
Laracon online
Laracon Online is an annual online conference. This is the most convenient and affordable way for each developer to feel like a participant in the Laracon conference.
Effective PHP
I highly recommend watching the Nuno Maduro
Writing Effective PHP video course. This will be a significant contribution to the education of every PHP developer. This course teaches you how to write code briefly and clearly, and also explains the basic principles for avoiding bugs and much more.
Laravel core adventures
Laravel Core Adventures is an excellent video course on the basic concepts of Laravel, which will help not only to gain knowledge, but also to have a good time.
Build a Chatbot Course
The
Build a chatbot course will teach you how to develop, extend and test chat bots and voice bots using PHP.
Laravel certification
And of course, if you have already received all the necessary knowledge and skills in development with Laravel, you can confirm them using the
Laravel Certification certification program.
Laravel Community
Laravel itself is already a great framework. But his constant development is very closely connected with his community. Developers constantly share their experiences and best practices, give tips and advice, and also note those things that need improvement. I would like to point out some of the resources that are required for any Laravel developer.
Laracasts forum
Laracasts Forum is a platform where developers share their experiences and tutorials. Here you can always ask for advice and discuss emerging issues.
LaravelIO
LaravelIO is a great resource that also discusses development issues. There you can find answers to various questions and share your experience.
Slack channel Larachat
Larachat Slack Workspace is a Slack space with various channels dedicated to a variety of topics.
Laravel news
Laravel News is the official Laravel news resource, as well as a weekly newsletter about the latest trends in the Laravel community.
Laravel podcast
Laravel Podcast is a great place to discuss key trends in the Laravel community.
Larajobs
LaraJobs is a resource for job search and posting vacancies for positions related to Laravel, PHP development and other technical specialties.
Laravel blog
Laravel Blog is the official Laravel blog where you can find all the latest Laravel releases and various events, as well as see the podcasts of Taylor Otvel (creator of Laravel).
Laravel ecosystem
The Laravel ecosystem definitely has something to offer developers. I usually try not to praise anything I use, but tend to criticize more. However, when it comes to the Laravel ecosystem, I just can't help it. Here I would like to mention a few original and very useful tools that can come in handy in the development of your projects.
Development Environment
Laravel valet
Laravel Valet easily installs a minimalistic development environment for your Laravel application. Truly a great tool for MacOS users.
Main characteristics:
- Fast (uses approximately 7 MB of RAM)
- Easy to install
- No configuration needed (you just need to create a folder in the root directory)
- Easy to use (provides simple command line tools)
- No need for Vagrant or Docker
- Supports ngrok tunnels
- Allows you to manually install additional services (such as Redis or MySQL) using Homebrew
Laravel Valet is open source software. All documentation for it can be found on the
official Laravel
website .
Laravel homestead
Laravel Homestead is a pre-built Vagrant build that provides a great development environment. You do not need to install PHP, a web server or any other server software on a local computer.
Main characteristics:
- Works on all operating systems: Mac, Windows and Linux
- Vagrant boxes are easy to remove and re-create.
- All necessary services are available “out of the box” (such as PHP 7.3, Nginx, MySQL, Redis and others)
- Provides the ability to use a shared folder between the virtual machine and the primary
Laravel Homestead is also open source software. All documentation for installing it can be found on the
official Laravel
website .
Laravel Extensions and Packages
Laravel passport
Laravel Passport is the easiest authentication API tool. It provides a complete OAuth2 server implementation for your application.
Main characteristics:
- Simplifies the installation process of the OAuth2 server and makes it easy to use thanks to the command line tool
- Comes with all the necessary database migrations, controllers and routes
- Contains Vue.JS built-in components
Laravel Passport is in the public domain. You can find all the necessary documentation for the installation
here .
Laravel scout
Add full-text search to your Eloquent models with Laravel Scout. This is a convenient software for synchronizing search indexes with your Eloquent records.
Main characteristics:
- Comes with Algolia driver
- Allows you to write your driver instead of Algolia and complement Scout with your own search implementation, for example: Elasticsearch, MySQL full-text search, TNTSearch, etc.
Laravel Scout is open source software. On the
official website you can learn more about him.
Laravel spark
Laravel Spark is a convenient tool to accelerate the development of SaaS applications.
Main characteristics:
- Great tool for developing your product.
- Allows you to focus on adding value to the application for the user
- Handles user authorization, scheduled events, payments, and more
- Highly customizable
- Gives more power to your application with Vue.JS
- Equipped with Stripe.js v3 to provide the maximum level of protection for payment and subscription processes
- Uses Bootstrap 4.0
- Supports latest versions of Laravel
- Has full localization
- Equipped with a convenient and intuitive settings panel
- Allows you to focus on business logic and see how the final product will look
Laravel Spark is a paid package that you can buy at a price of $ 99 per site or $ 299 without a limit on the number of sites. More information can be found on the
official website .
Laravel nova
Laravel Nova is an admin panel for Laravel with a great UI and UX design that speeds up the development process.
Main characteristics:
- Provides a complete CRUD interface for your Eloquent models
- Easily added to your Laravel application, both new and existing
- Configurable with simple PHP code
- Displays various metrics for your application (includes helpers for building queries)
- Integrates with Laravel authorization policies (even for links, lenses, fields and tools)
- Comes with Nova CLI to provide full control over working with Nova
- Provides deferred actions to the queue
- Allows you to add lenses to control Eloquent requests.
- Provides the ability to create custom tools using the command line
- Can be integrated with Laravel Scout for ultra-fast search results
- Contains built-in filters for pseudo remote resources
- Supports latest versions of Google Chrome, Apple Safari and Microsoft Edge
- A well-designed Nova panel costs between $ 99 and $ 199 per project. All information can be found here .
Laravel dusk
If you want to test your application and see it through the eyes of the user, try Laravel Dusk. This tool allows you to automatically test the application from a browser using a developer-friendly API. Laravel Dusk comes with Chromedriver by default.
Main characteristics:
- It does not require the installation of JDK or Selenium (but you can use any Selenium driver if you want)
- Is a useful tool for web applications using javascript
- Simplifies the testing process of various clickable elements of your application
- Saves screenshots and browser console output for failed tests, so you can immediately understand what went wrong
The tool is in the public domain. More detailed information about Laravel Dusk can be found on the
official website .
Laravel socialite
Laravel Socialite is a package that provides a flexible interface for authentication with OAuth providers such as Facebook, Twitter, Google, LinkedIn, GitHub and many others.
Main characteristics:
- Easy to use
- It contains almost all the necessary logic for implementing authentication using social services. networks
- Widely supported by a community of pre-made providers
All the necessary information regarding Laravel Socialite can be found
here .
Laravel echo
Laravel Echo is a JavaScript library that allows you to subscribe to feeds and listen to broadcast events through WebSockets.
Main characteristics:
- Allows you to implement real-time updates in your application
- Provides any types of channels (public, private and presence)
- Provides the ability to broadcast P2P events using the whisper method
- Works with popular out-of-box solutions, such as the Pusher service or the Socket.IO library
Laravel Echo can be installed for free. All the necessary documentation is on the
official website .
Laravel medialibrary
The Laravel Medialibrary package associates all file types with Eloquent models. This package makes working with media objects surprisingly easy.
Main characteristics:
- Allows you to directly transfer any media files from the Internet using url
- Allows you to use your own directory structure.
- Allows you to determine the conversion of the file. Image sizes, adjustments, effects and more
- Provides automatic image optimization
- Allows you to create multiple media collections for one Eloquent model
Laravel Medialibrary opens up a huge number of possibilities. All installation documentation can be found
here .
Laravel mix
Laravel Mix (formerly called Laravel Elixir) is a tool that gives you an almost completely controlled frontend build process. It provides an intuitive and convenient API for defining the basic steps for building a Webpack for your Laravel application.
Main characteristics:
- Provides a broad API that meets almost all your needs.
- Works like a wrapper on Webpack and allows you to expand it
- Eliminates all the difficulties associated with installing and working with Webpack
- Works with modern javascript tools and frameworks: Vue.JS, React.JS, Preact, TypeScript, Babel, CoffeScript
- Transposes and links Less, Sass and Stylus to CSS files
- Supports BrowserSync, Hot Reloading, Assets versioning, Source Mapping “out of the box”
Laravel Mix can be installed for free. All documentation can be seen on the
official website .
Laravel cashier
Laravel Cashier is a package that greatly simplifies the billing subscription process. Although I believe that the Stripe PHP library is good in itself, it is much more difficult to use it directly. Cashier just avoids potential problems and simplifies subscription management.
Main characteristics:
- Simplifies the use of Stripe subscription payment service
- Easy to use and understand code base
- Gives Stripe PHP Library a clear and intuitive interface
- Works with coupons, temporary subscriptions, one-time payments, generates PDF invoices and much more
- Provides SCA compliance for Europe
The package is absolutely free. Install Laravel Cashier with all the necessary
documentation .
Laravel envoy
Laravel Envoy is a very useful task launch tool with clean and minimal syntax.
Main characteristics:
- Simplifies deployment
- Uses Blade-style Syntax
- Can be used outside the Laravel framework (and even PHP)
- Very easy to configure
- It has the functionality of “stories” that group several tasks under one convenient name. This way you can group small and specific tasks into larger ones. Each “story” can be run as a normal task.
- Allows you to run tasks on multiple servers
- Allows parallel execution
- Supports notifications in Slack and Discord (you can receive notifications after completing each task)
Laravel Envoy is a free tool that can be accessed
here .
Laravel horizon
Laravel Horizon is a package for tracking key metrics of your Redis Queue system.
Main characteristics:
- Allows you to track queues with a clear web UI
- Provides a detailed and accessible interface for viewing and retrying unsuccessful tasks
- Allows you to track relevant metrics at runtime (task performance, re-starts and failures) in real time
- Displays recent reruns of tasks directly on the detail page of failed tasks
- Stores all configurations of the queue worker in one configuration file (thus, the entire configuration is under version control)
- Simplifies team collaboration
- Allows you to use an automatic load balancer for your processes working with work queues
- Has useful notifications
- Allows you to tag tasks (and automatically tags most tasks)
Laravel Horizon is available for free. All documentation can be found on the
official website .
BotMan Studio
BotMan Studio is an application built on the Laravel framework for more efficient development of your chat bots.
Main characteristics:
- Provides a web driver implementation. You can develop your chat bot locally and interact with it through Vue.JS chat widget
- Suitable for various platforms (Slack, Telegram, Amazon Alexa, Cisco Spark, Facebook Messenger, Hangouts Chat, HipChat and others)
- Its logic can be used to write your own chat bot specifically for your application.
- Provides tools to test your chat bots
- Supports middleware, NLP (Natural Language Platforms), retrieval of user information and its storage
BotMan Studio can be installed with all the necessary
documentation .
Laravel tenancy
Laravel Tenancy is a tool for developing multi-user Laravel platforms.
Main characteristics:
- Provides a quick solution for Laravel without losing flexibility
- Allows you to use the scaffold method for multi-user SaaS platforms regardless of the complexity of the project
- Provides a clear separation of assets and databases
- Comes with closed and optional integration into the web server
- Great for marketing companies that prefer to reuse functionality for other projects.
- Allows you to add configurations, code, routes, etc. for a specific tenant
- Provides integration tutorials with popular solutions like Laravel Permissions and Laravel Medialibrary
Laravel Tenancy is free for any type of project. All the necessary information can be found
here .
Lumen
If you don't need to use the full Laravel framework, then you will definitely like Lumen. This is a micro framework that minimizes boot processes.
Main characteristics:
- Very fast
- Great even if you need support for both web and mobile applications
- Very useful for micro services and various APIs.
- Allows you to work with Eloquent ORM, and other Laravel components without using a full framework
- Simplifies routing, caching, and more.
Lumen - open source software. All the necessary information on it is
here .
Laravel telescope
Laravel Telescope is the perfect debugging assistant for Laravel applications. To understand what I mean, imagine that the best debugger you've ever used has become a separate UI with the most convenient tools. Here is this Laravel Telescope.
Main characteristics:
- Simplifies the development process
- Provides a convenient interface for tracking and debugging many aspects of your application
- Expands the horizons of the development process giving direct access to a wide range of information
- Reduces the number of bugs and helps to understand how to improve the application
- Provides an understanding of the requests coming to your application. Provides a clear understanding of all exceptions, database queries, mail, logs, caching operations, notifications, and more
- Collects information on how long the process of executing all the necessary commands and queues takes
Install Laravel Telescope for free. All documentation is available on the
official website .
Laravel WebSockets Package
WebSockets for Laravel is the package developers have been waiting for. It simplifies the implementation of WebSockets server in Laravel as much as possible.
Main characteristics:
- Completely assumes the server side of WebSockets
- Replaces Pusher and Laravel Echo Server
- Based on Ratchet, but does not require you to configure Ratchet yourself
- Equipped with real-time debugging panel
- Provides a real-time graph that allows you to track key WebSockets metrics (peak connections, number of messages sent and messages received via API)
- Can be used in multi-user applications.
- Comes with pusher protocol messages (all packages that you already use will also work with Laravel WebSockets)
- Fully compatible with Laravel Echo
- Retains all the main features of Pusher (private and presence channels, Pusher HTTP API)
The documentation for installing Laravel WebSockets can be found
here .
Other useful Laravel services
Laravel forge
Laravel Forge can simplify the process of configuring and deploying a web application. This service takes care of most of the administrative work.
Main characteristics:
- Provides easy server management through a simple and intuitive UI
- Works with Digital Ocean, Linode, AWS, Vultr providers “out of the box”
- Enables the installation of custom VPS
- Provides configured updated software for all your needs (Ubuntu, PHP, Nginx, MySQL and others)
- Allows you to no longer suffer from deployment and hosting, and focus on development
- Takes the trouble of creating and configuring a new server
- Allows you to restart each service and the whole server directly through the UI
- Easily installs the necessary SSH keys to access the server
- Installs SSL Certificates in Minutes
- Supports LetsEncrypt (free SSL certificates) “out of the box”
- Allows you to quickly configure Nginx for domains and subdomains
- Provides simple secure network settings for horizontal scaling
- Allows you to build, configure servers and share them with the team
- Allows you to attach a Git repository to each site for configuration
- Supports GitHub, BitBucket, GitLab, and Custom Repositories
- Provides Auto-Deployment Based on Git Branch Update
- Provides simple deployment scripts allowing you to run it using “Deployment Trigger Url”
- Configures scheduled tasks, firewall rules, and queues
- Suitable for any PHP framework.
- Provides automatic installation and configuration for Blackfire and Papertail
Laravel Forge is a paid service. The price depends on the chosen plan and ranges from $ 12 to $ 39 per month. Each plan has a 5-day free trial. Learn more about Laravel Forge on the
official website .
Laravel vapor
What about a serverless deployment platform that does all the work for you? Wrap me two, please. I'm talking about the Laravel Vapor service, which I personally find very impressive.
Main characteristics:
- This is an auto-scalable platform supported by AWS Lambda
- Comes with an auto-scalable database, cache clusters, and queue workers
- Easily manage your Laravel infrastructure
- Allows you to directly upload files to S3 using the built-in JavaScript tools Vapor
- Provides non-downtime deployment and rollbacks
- Friendly to use CI
- Provides environment variables, DNS and database management (including point-in-time recovery and scaling)
- Allows the use of custom domain names
- Provides the ability to create "secrets." It's like environment variables, but encrypted in the stream, versioned and without a limit of 4 kb
- Comes with autoloading assets on the Cloudfront CDN during deployment
- Allows you to manage and renew certificates
- Provides unique, human-readable URLs for each environment, providing fast browsing
- Supports key metrics (applications, databases and cache)
- Provides database and cache tunnels for easy local inspection
- Equipped with convenient CLI tool
Laravel Vapor has a fixed price for an unlimited number of projects and deployments. A month of use will cost $ 39, annual use of $ 399 (excluding AWS cloud charges). Detailed information is available on the
official Laravel Vapor
website .
Chipper ci
If you were looking for a tool for continuous integration in Laravel, Chipper CI is what you need.
Main characteristics:
- Runs PHPUnit and Laravel Dusk tests seamlessly and requires no additional configuration.
- Provides a truly fast and stable Laravel-oriented CI
- Uses smart dependency caching to speed assembly
- Provides easy deployment integration with Laravel Forge, Envoyer and Vapor
Well, what can I say, I take off my hat to David Hemfill and Chris Fidao, who created this great tool and made life easier for any Laravel developer. ChipperCI is a paid service that can be purchased at a price of $ 39 per month. This plan comes with a 14-day free trial period and does not limit you in the number of projects, project participants and allows 1 competitive assembly. Visit the
official Chipper CI
website for all the details.
Flare
Flare is the bug tracker tool that Laravel developers have been waiting for.
Main characteristics:
- Provides instant solutions for various problems and contains the necessary documentation for this
- Provides a clear and focused interface for solving various problems
- Collects local and production environment errors
- Allows ignition old man errors to automatically fix the error with one click
- Allows you to collaborate using the “share exception” feature to effectively fix bugs
- Allows you to reduce the time to fix bugs
- Provides tracking of exceptions and notifications
Flare gives you a 7-day free trial. Then you can choose a plan convenient for you. There are 3 plans with prices ranging from $ 29 to $ 279 per month and 3 plans costing from $ 319 to $ 3,069 per year. All details can be viewed
here .
Laravel shift
But what if I tell you that you can update Laravel versions automatically? Well, in general, not even you, but Laravel Shift.
Main characteristics:
- Updates Laravel versions automatically and instantly
- Provides the fastest way to upgrade any version of Laravel
- Saves your time and saves your nerves
- Works perfectly with Bitbucket, Gitlab and GitHub projects
- Does not keep a copy of your code
The Laravel Shift service offers several plans that will satisfy all your needs. Price ranges from $ 7 to $ 59 per month. Detailed information is available
here .
Laravel envoyer
Laravel Envoyer is a zero-downtime deployment service for your PHP and Laravel applications.
Main characteristics:
- Provides a fully functional application to the end user during deployment
- Supports an unlimited number of custom deployments to multiple servers, as well as application health monitoring
- Provides a clear and easy to use UI for deployment setup
- Integrates with GitLab, GitHub, Bitbucket and Slack
- Provides integration with self-hosted GitLab
- Keeps track of pending teams and tasks
- Provides smooth rollbacks of deployment
- Allows unlimited team members and unlimited deployments
The monthly payment of Laravel Envoyer is $ 10- $ 50. The price depends on the number of projects. The service provides a 5-day free trial. For more detailed information, you can go to the
official website .
Laravel ecosystem is gaining momentum
As for me, it turned out pretty impressive selection. Please note that these are not all the existing tools and services, but only those that I myself highly value.
I see that the Laravel framework every year only gains and gains popularity. The Laravel community is growing at an irresistible speed. What does this mean for us? At a minimum, the number of new tools and services will increase significantly in 2019 and subsequent years. Their use definitely accelerates the process of project development and, of course, improve their quality.
Laravel makes the development process efficient and helps implement the craziest ideas. If you are already using this framework, I advise you to try the tools that I described here. If not, you can change your current framework at any time. It’s very easy to work with the Laravel ecosystem and, believe me, you don’t want to return to another framework.