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