10 paquetes imprescindibles para Laravel que no debes dejar pasar

Laravel es uno de los frameworks PHP para desarrollar aplicaciones web más popular del mercado actual. Te proporciona grandes características como un enrutado simple y veloz, distintas maneras de acceder a las bases de datos relacionales y mucho más.

En este artículo te mostraremos 10 librerías PHP open source para Laravel que no puedes dejar pasar. Puedes incluirlas de manera sencilla en cualquier proyecto Laravel para mejorar tu flujo de trabajo.

Laravel Debugbar

Un paquete para Laravel 5 que añade un barra de herramientas para desarrolladores para depurar PHP y el código de Laravel de tu proyecto. Cuenta con un montón de opciones como la de mostrar las queries, obtener información sobre la Route actual, mostrar las vistas que se están cargando actualmente y muchas cosas más.

// 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 es un paquete para Laravel 5 que te proporciona una manera sencilla de añadir permisos por roles en tu proyecto. La librería crea cuatro nuevas tablas: roles, permissions, role_user y permission_role, que puedes utilizar para definir distintos roles para tener diferentes niveles de acceso.

// 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 te ofrece una forma sencilla de gestionar una autenticación OAuth. Con esto podrás hacer que tus usuarios hagan login mediante las redes sociales más populares del momento como Facebook, Twitter, Google, GitHub o 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

Un paquete que te permite verificar usuarios, tal y como su nombre indica. Genera y almacena un token de verificación para cada usuario registrado, envia un email con un enlace de verificación con el token, gestiona la verificación del token y activa el usuario si todo ha salido bien.

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 nos sirve para interactuar con tu aplicación Laravel desde línea de comandos y acceder a todos los eventos, objetos... Se puede utilizar como parte de Laravel, pero después de la versión 5.4 es un add-on opcional que se debe instalar de manera independiente.

Breadcrumbs

Con este paquete puedes crear migas de pan en tu aplicación web de manera simple y sencilla. Soporta la mayoría de frameworks front-end como Bootstrap, Bulma, Foundation y 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

Eloquent-Sluggable es una librería para crear URLs amigables simplificadas mediante cadenas. Es decir, elimina espacios, caracteres con acentos, ampersands... Con Eloquent-Sluggavle puedes crear slugs para los modelos Eloquent de tu proyecto.

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

Un paquete de Laravel que puede utilizarse para realizar migraciones de una base de datos existente, incluyendo índices y FKs. Cuando ejecutas el siguiente comando, podrás realizar migraciones de todas las tablas de tu base de datos.

php artisan migrate:generate

También puedes escoger realizar la migración unicamente de las tablas que utilices.

php artisan migrate:generate table1,table2 

NoCaptcha

Paquete para Laravel 5 con el que puedes implementar el típico reCAPTCHA de Google (ya sabéis, el de “No soy un robot”), para proteger tus formularios de bots y del spam. Para utilizar este servicio, recuerda que primero tienes que hacerte con una 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

Una utilidad para línea de comandos que añade cierto número de comandos Artisan para trabajar con las vistas de tu app. Te permite generar plantillas de vistas automáticamente sin tener que crearlas manualmente.

# 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

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP