Top 10 Must-Have Laravel Packages In 2019 [Updated]
This Laravel Package Tutorial is a quick guide for all Laravel Developers. This guide will surely help you understand “What is Package in Laravel?”, and list of must-have Laravel Packages.
What is Laravel Package?
Laravel Package reminds me of the famous quote “Don’t reinvent the Wheel, Just Realign It.” It means that utilize the functionality that you already have or someone developed it for you.
Laravel Package is a collection of Laravel based PHP files bundled together to provide certain functionality like Social Login Socialite. Laravel Package allows developers to add certain functionalities to the existing web application.
A Package in Laravel is just like Library (static or shared/DLL) in C/C++ language. It is precompiled, well featured, tested and extendable.
If you are a beginner to Laravel Framework, then we recommend you to read the following topics:
- Laravel Framework Overview
- Laravel Request Lifecycle
- Top 20 Laravel Artisan Commands
- Understanding Laravel Middleware
- Laravel Routing Tutorial
- Understanding Laravel Blade Template
- Laravel Interview Questions
- Laravel Authentication
- Laravel Validation Tutorial
Two types of Packages in Laravel Packages
Laravel Framework bundles with a set of features in the form of packages. These Laravel Packages are developed and contributed by third-party open source vendors.
Laravel developers can easily integrate package into web applications. Packages once developed for a particular feature like social login, SEO, tracking, can be reused seamlessly in each application.
Laravel offers a great set of features in two types of packages:
1. Laravel specific Laravel Packages
These are set of packages intended for use with Laravel applications. These are not generic packages to be used in any web application. Laravel specific packages come with – Views/Routes/Controllers to extend the Laravel application. These packages can easily be developed using the Laravel Framework.
2. Standard/Generic PHP Packages
Standard Laravel Packages are also known as standalone packages. These are common PHP packages which work with any PHP framework. Carbon and Behat are examples of such Laravel Packages. These packages are used in Laravel application using the composer.json file.
How to Install Package in Laravel?
To begin with Laravel Packages, first of all, we have to download and install certain Laravel packages. Laravel provides a very simple and hassle-free package installation and configuration environment. Laravel makes use of Composer dependency manager to install any laravel package.
Steps to install Package in Laravel:
#1. Modify the composer.json file
Open the composer.json file located under the root folder your Laravel installation. Add the package name, e.g we want to install Socialite package:
2. Run Composer Update to download and Install Laravel Package
> Change directory to root folder of Laravel installation
> composer update
Note: Here, the “composer update” command will update the laravel packages as mentioned in the composer.json package configuration file.
3. Register the Package – Add Service Provider
After the successful installation, the next step is to configure the package for use in laravel applications. For any new package, service providers are added in config/app.php, under the service providers section:
| Autoloaded Service Providers
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
‘providers’ => [
* Laravel Framework Service Providers…
| Class Aliases
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are “lazy” loaded so they don’t hinder performance.
‘aliases’ => [
‘App’ => Illuminate\Support\Facades\App::class,
‘Artisan’ => Illuminate\Support\Facades\Artisan::class,
‘Auth’ => Illuminate\Support\Facades\Auth::class,
‘Blade’ => Illuminate\Support\Facades\Blade::class,
‘Cache’ => Illuminate\Support\Facades\Cache::class,
‘Config’ => Illuminate\Support\Facades\Config::class,
‘Cookie’ => Illuminate\Support\Facades\Cookie::class,
‘Crypt’ => Illuminate\Support\Facades\Crypt::class,
‘DB’ => Illuminate\Support\Facades\DB::class,
‘Socialite’ => Laravel\Socialite\Facades\Socialite::class
4. Publish the Laravel Package
Once the new package is properly installed, configured and registered, the next step is to publish the package. This step Publishes the package associated views, config file, assets, and language files.
Run the following command to publish the package:
php artisan vendor: publish
List of Most Useful Laravel Packages
In this guide, we are presenting you with the essential packages for extending Laravel applications.
The primary of laravel package is that you can easily integrate them into your laravel application and utilize the functionality. Here, we will list most useful and must have laravel packages that every web application should have installed.
1. Laravel Socialite
Socialite is the most commonly used Laravel Package for authenticating users. This package allows developers to validate user credentials using OAuth authentication mechanism. It provides very simple way of logging into most common social platforms.
Laravel Socialite currently supports – Google, FB, Twitter, Linked-In, Github, and BitBucket.
Download and Install Socialite – https://laravel.com/docs/5.8/socialite
Key Features of Laravel Socialite:
- Supports Login using Google, Facebook, Twitter, Linked-In, Github and BitBucket
- Easy download and installation using Composer
- Separate configurations for Google, FB. LI, etc.
- Stateless Authentication
- Retrieving user information
2. Laravel Zizaco/Entrust
Laravel Entrust is great Laravel package to implement role-based permissions in Laravel Web Applications. This is a very useful package when you are working on big ERP Level Project then you need to control access to certain sections of the website based on the user roles. Using this package you can create different types of users (Admins, Sub-Admins, Users) and assign roles to them. Then, using the various methods we can check the roles/permissions of any user:
Download and Install Zizaco/Entrust – https://github.com/Zizaco/entrust
Documentation – https://packagist.org/packages/scsuoft/entrust
Key Features of Zizaco/Entrust:
- Role-Based Permissions
- Allow creating multiple users
- Assign User Roles
3. Laravel Debugbar
The Laravel Debugbar is Laravel Package by Barry vd that allows developers to debug the Laravel applications. It is integration PHP Debug Bar.
Download and Install Laravel Debugbar: – https://laravel-news.com/laravel-debugbar
Documentation – https://github.com/barryvdh/laravel-debugbar
4. Laravel Tinker
Tinker is another powerful package by Laravel. Tinker provides a quick and easy way to see the data in your database. Laravel Tinker is a REPL which means Read-Eval-Print Loop. It takes in single user input, evaluates it, and returns the result to the user.
Download and Install Laravel Tinker – https://github.com/laravel/tinker
5. Laravel Buzzy
Buzzy is the most popular Laravel Package used to create media sharing websites. It provides a great list of widgets, pages, categories, blog posts. This is widely used to create websites similar to BuzzFeed and Buzzy. Laravel Buzzy is also used to create blogging sites in Laravel.
Buzzy combines all these features into a single Laravel package.
Download and Install Laravel Buzzy – https://github.com/vytien/laravel-buzzy
6. Laravel Simple QrCode
Laravel Simple QrCode is an easy to use wrapper for the popular Laravel framework based on the great work provided by Bacon/BaconQrCode. It is an interface that is familiar and easy to install for Laravel users.
Simple QrCode official documentation – https://www.simplesoftware.io/simple-qrcode/
Download and Install Laravel QrCode – https://github.com/vytien/laravel-buzzy
7. Laravel DomPDF
DomPDF is a wrapper for Laravel. Laravel DomPDF package is used to create PDF documents from the Laravel HTML Views. Using this package developer can easily generate PDF in Laravel application.
Download and Install Laravel DomPDF – https://github.com/barryvdh/laravel-dompdf
Laravel DomPDF Example – http://www.expertphp.in/article/generate-pdf-from-html-in-php-laravel-using-dompdf-library
8. Laravel Excel
Laravel Excel is great package used to create Excel documents in the Laravel application. Laravel Excel has extensive documentation showing you the basics to simplify the imports and exports in your application.
Key Features of Laravel Excel:
- Easily export collections to Excel.
- Supercharged exports
- Supercharged imports.
- Export Blade views
9. Laravel Tracker
Laravel Tracker is Laravel Stats Tracker package used to gather various types of users information.
Laravel visitor Tracker gathers following types of information:
- Tracks Session Information
- Page Views
- Users (logged users)
- Devices (computer, smartphone, tablet…)
- Languages (preference, language range)
- User Devices (by, yeah, storing a cookie on each device)
- Browsers (Chrome, Mozilla Firefox, Safari, Internet Explorer…)
- Operating Systems (iOS, Mac OS, Linux, Windows…)
- Geo Location Data (Latitude, Longitude, Country, and City)
Download and Install Laravel Tracker – https://github.com/antonioribeiro/tracker
10. Laravel Schoex
This is the ultimate school management package in Laravel.
For more details read – https://codecanyon.net/item/schoex-ultimate-school-management-system/9797830
11. Laravel Breadcrumbs
A simple Laravel-style way to create breadcrumbs. A breadcrumb or breadcrumb trail is a graphical control element frequently used as a navigational aid in user interfaces and on web pages
Following is an example of breadcrumb display.
Home / Latest Blogs
Download and Install Laravel Breadcrumbs – https://github.com/davejamesmiller/laravel-breadcrumbs
12. Laravel Image
Laravel Image is a PHP based image handling and manipulation Laravel Package. Laravel Image provides an easier and expressive way to create, edit, and compose images. The package includes ServiceProviders and Facades for easy Laravel integration.
This package supports the following image formats: JPEG, PNG, GIG, TIF, BMP, ICO, PSD, WebP.
Directory of Laravel Packages
This is a great site listing all the essential Laravel packages – Directory of Laravel Packages
Now, that we have learned about the basics of Laravel Package. Then, we discussed a great list of most useful Laravel packages that every Laravel developer must know.