Laravel Debugbar
A package for Laravel 5 which adds a developer toolbar for debugging the PHP and Laravel code of your app. There are lots of options which allow you to show all queries, get information about the current Route, show the currently loaded Views, and much more.// All arguments will be dumped as a debug message
debug($var1, $someString, $intValue, $object);
// Measure render time or other events.
start_measure('render','Time for rendering');
stop_measure('render');
add_measure('now', LARAVEL_START, microtime(true));
measure('My long operation', function() {
// Do something…
});
Entrust
Entrust is a Laravel 5 package which gives you a flexible way to add role-based permissions to your project. The library creates four new tables: roles, permissions, role_user and permission_role, which you can use to set up roles with different levels of access.// Creating role and permissions
$admin = new Role();
$admin->name = 'admin';
$admin->display_name = 'User Administrator'; // optional
$admin->description = 'User is allowed to manage and edit other users'; // optional
$admin->save();
Socialite
Socialite offers a simple and easy way to handle OAuth authentication. It makes it possible for your users to log-in via some of the most popular social networks and services including Facebook, Twitter, Google, GitHub and BitBucket.$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
// All Providers
$user->getId();
$user->getName();
$user->getEmail();
$user->getAvatar();
User Verification
A package that allows you to verify users and validate emails. It generates and stores a verification token for the registered user, sends an email with the verification token link, handles the token verification, and sets the user as verified.protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
Tinker
Tinker allows you to interact with your entire Laravel application from the command line and access all the Eloquent jobs, events, and objects. It used to be part of Laravel, but after version 5.4 it is in a optional add-on that needs to be installed separately.Breadcrumbs
With this package you can create breadcrumb page controls in a simple and easy way. It supports some of the most popular front-end frameworks such as Bootstrap, Bulma, Foundation and Materialize.// Home > Photos
Breadcrumbs::register('photo.index', function ($breadcrumbs) {
$breadcrumbs->parent('Home');
$breadcrumbs->push('Photos', route('photo.index'));
});
// Home > Photos > Upload Photo
Breadcrumbs::register('photo.create', function ($breadcrumbs) {
$breadcrumbs->parent('photo.index');
$breadcrumbs->push('Upload Photo', route('photo.create'));
});
Eloquent-Sluggable
Slugging is creating a simplified, URL-friendly version of a string by converting it to one case and removing spaces, accented letters, ampersands, etc. With Eloquent-Sluggable you can easily create slugs for all the Eloquent models in your project.class Post extends Eloquent
{
use Sluggable;
protected $fillable = ['title'];
public function sluggable() {
return [
'slug' => [
'source' => ['title']
]
];
}
}
$post = new Post([
'title' => 'My Awesome Blog Post',
]);
// $post->slug is "my-awesome-blog-post"
Migrations Generator
A Laravel package which can be used to generate migrations from an existing database, including indexes and foreign keys. When you run the following command you can create migrations for all the tables in your database.php artisan migrate:generateYou can also choose only certain tables that you want to use:
php artisan migrate:generate table1,table2
NoCaptcha
Laravel 5 package for implementing Google’s reCAPTCHA “I’m not a robot” validation and protecting your forms from spam. To use the service you will need to obtain a free API key.// prevent validation error on captcha
NoCaptcha::shouldReceive('verifyResponse')
->once()
->andReturn(true);
// provide hidden input for your 'required' validation
NoCaptcha::shouldReceive('display')
->zeroOrMoreTimes()
->andReturn('');
Artisan View
A command line utility that adds a number of Artisan commands for working with the views in your app. It allows you to automatically generate view templates without having to manually create new blade files.# Create a view 'index.blade.php' in the default directory
$ php artisan make:view index
# Create a view 'index.blade.php' in a subdirectory ('pages')
$ php artisan make:view pages.index
# Add a section to the view
$ php artisan make:view index --section=content
Laravel Backup
With this Laravel package you can back up all of the files in your project. All you need to do is run this command:php artisan backup:runIt creates a zipfile with all the files in the directory and a dump of your database. Can be stored on any file system.
CORS Middleware
Setting up CORS (Cross-Origin Resource Sharing Headers) on your website can be a lot of work. With this Laravel library the configuration process is very simplified. It handles CORS pre-flight options requests and adds CORS headers to your responsesreturn [
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedHeaders' => ['Content-Type', 'X-Requested-With'],
'allowedMethods' => ['*'], // ex: ['GET', 'POST', 'PUT', 'DELETE']
'exposedHeaders' => [],
'maxAge' => 0,
]
Laravel GraphQL
GraphQL is a data query language that provides an alternative to traditional REST architectures. Developers define the structure of the data required, and get exactly the same structure from the server. This package will help you set up and use GraphQL in your Laravel apps.Laravel Mix
Laravel Mix provides a rich API for defining Webpack build steps for your project. It uses a few common CSS and JavaScript pre-processors that can be chained together to transform and format your assets.mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');