Comandos de Artisan

logo laravel

La potencia  de Artisan para aquellos que ya entienden algo de Laravel, es indiscutible, al menos para mi y lo considero de gran ayuda.

Artisan posee un conjunto de comandos, que permiten que pueda aprovecharse muy bien su capacidad. Para listar estos comandos basta con escribir en la consola

  php artisan list 

e inmediatamente obtendremos:

Las opciones que disponibles con cada comando, pueden obtenerse mediante  help:

php artisan help nombre-comando 

o acortando simplemente con -h:

php artisan nombre-comando -h

Así obtendremos: la forma de usar el comando, sus argumentos , una descripción y las opciones que podemos agregar. Por ejemplo, para php artisan migrate -h  nos muestra:

Aquí nos está diciendo dice que “mígrate” es el comando para correr las migraciones y entre las opciones con que cuenta está poder indicar cuál es la base de datos por ejemplo php artisan migrate –database=tests .

Una de las grandes ventajas de esta herramienta es que tiene un conjunto de comandos dedicado a generadores, es decir, que nos permiten crear elementos como controladores, middleware, seeders, modelos, entre otros, los cuales son los que están bajo la categoría make:


Cada uno de esos generadores tiene sus propias opciones, así que puedes revisarlo con el comando help.

Artisan nos permite crear controladores sin métodos, mediante el uso de la opción plain:

php artisan make:controller PostController --plain

Abajo muestro una lista de algunos de los comandos de uso  más común.

Serve:

php artisan serve

Se utiliza para lanzar el servidor de una aplicación,  corriéndolo desde el root de nuestra app.

Este servidor viene incluido en laravel y se levanta de modo individual para cada  caso. Después de cargarlo, nos indicará donde está corriendo.   

laravel development server started on http://localhost:8000/

Si vamos al navegador, y visitamos  http://localhost:8000/,  veremos nuestra aplicación corriendo.

Para detener el servidor, utilizaremos la combinación de  las teclas Ctrl+C.  

Cambiar el namespace de la aplicación:

php artisan app:name nombre-namespace

Ver el listado completo de rutas: 

php artisan route:list


Como resultado nos mostrará un listado de todas las rutas de la aplicación, con la información sobre el método HTTP, la URI, la acción, el nombre y sus  middlewares.

Poner en modo mantenimiento nuestra aplicación:

php artisan down

Sacar la aplicacion del modo mantenimiento

php artisan up

Artisan además asimila crear comandos, lo cual es muy útil para ejecutar tareas manuales o testear comportamientos.

Crear una tabla

php artisan make:migration
create_posts_table --create posts 

Correr la migracion

php artisan migrate

Modificar una tabla existente

De este modo estariamos agregando el campo «resumen» a la tabla «articulos»

php artisan make:migration add_resumen_to_articulos_table --table="articulos"

Agregar varios campos nuevos a la tabla «users»

php artisan make:migration add_fields_to_users_table
--table="users"

Generar una llave para hashing

php artisan key:generate

Crear un middleware

Por ejemplo escribir esto para crear un middleware que verifique si el usuario tiene una sesión

php artisan make:middleware HasUserASession

Crear un modelo

El siguiente comando creara el modelo Tarea

php artisan make:model Tarea

Crear un controlador

Crear un controlador de recursos tipo REST (resource), que incluye todos los métodos del CRUD(create, read, update, delete)

php artisan make:controller TareaController --resource

Generar el código boilerplate para autenticación de usuarios

Este comando debería ejecutarse lo más pronto al iniciar tu proyecto ya que re-escribirá tus layouts y controladores de Autenticación y Usuarios

 php artisan make:auth

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

Subir montañas hermana hombres……

Como ponerle un alias a una tabla

Podemos tener la necesidad de crear un alias para una tabla, si nos vemos obligado a ello, podemos hacer esto.

$cars = Car::from('cars as c')
    ->join('marcas as m',function($join){
        $join->on('c.roles_id','=','m.id')->where('m.estado','=',1);
    })    
    ->select("c.*","m.name")
    ->where('c.estado','=',1)
    ->get();

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

…., si avanzo sígueme, si me detengo empújame, si retrocedo mátame…….

Ordenar las relaciones

En Laravel podemos ordenar las relaciones de acuerdo a diferentes parámetros, por el ejemplo size

class Category extends Model
{
	public function shoes()
	{
		return $this->hasMany('App\Shoe')->orderBy('size');
	}
}

Otro orden que podemos conseguir es al usar las tablas pivotes, para las relaciones belongsToMany.

En el siguiente ejemplo tenemos el modelo Role y el modelo User,  y estamos mostrando en una vista, la relación entre ambos de forma descendente, según la fecha en que fue creado, en grupos  de 15, por página.

class Role extends Model
{
	public function users()
	{
		return $this->belongsToMany('Role\User')->withTimestamps();
	}
}

@if ($roles->users->count() > 0)
	Asignación
	@foreach ($roles->users()->orderBy('rol_user.created_at', 'desc')->take(15)->get() as $user)
		...
	@endforeach
@endif

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

Subir montañas hermana a los hombres……