Top 10 Essential Laravel Packages In 2019 [Updated]

        Top 10 Essential Laravel Packages In 2019 [Updated]

 

Laravel Packages
                   Laravel Packages

 

This Laravel Packages Tutorial is a quick guide for all Laravel Developers. This guide will surely help you understand “What is Package in Laravel?”, and the list of must-have Laravel Packages. Let’s go through the fundamental concepts of Laravel.

 

What is Laravel Package?

Laravel Packages 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 Packages is a collection of Laravel based PHP files bundled together to provide certain functionality like Social Login Socialite. Laravel Packages allows developers to add certain functionalities to the existing web application.

Hence, 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:

 

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.

 

Must read guides on OpenCart and JavaScript:

Powerful Features of JavaScript That Every Developer Should Know!!

How PHP Connect to MySQL Tutorial with Example

How to install OpenCart on LAMP/WAMP Server?

What is OpenCart? Features of OpenCart!

Ultimate PHP Composer Package Manager Tutorial

 

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.

Best Laravel Development Company

Laravel Development Company in Delhi NCR

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: 

                          “laravel/socialite”: “2.0.*@dev”

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…
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Laravel\Socialite\SocialiteServiceProvider::class
],

/*
|————————————————————————–
| 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 a 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.
  • Routing
  • 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

 

Laravel Development Company in Delhi India
Laravel Development Company in Delhi India

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

 

Also, read Advanced Laravel concepts:

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

 

Download & Install Laravel Excel – https://github.com/Maatwebsite/Laravel-Excel
Laravel Excel official website – https://laravel-excel.com/

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.

Download and Install Laravel Image Package: – https://github.com/Intervention/image
Official Documentation – http://image.intervention.io/

 

Directory of Laravel Packages

This is a great site listing all the essential Laravel packages – Directory of Laravel Packages

                                                                Subscribe to Newsletter

Final Words:

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.

Subscribe to our Blog @ TechCluesBlog

   

Leave a Reply

Your email address will not be published. Required fields are marked *