jueves, 26 de abril de 2018

Crear un blog personal con Laravel - Parte 3

   



Creación de un Blog Personal Con Laravel 5.6

Para definir nuestras columnas y especificaciones de tabla, necesitamos editar este archivo. Después de editar el archivo de migración, debería verse así:








<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArticulosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('articulos', function (Blueprint $table) {
            $table->increments('id');
            $table->string('titulo');
            $table->text('contenido');
            $table->integer('idAutor');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('articulos');
    }
}

Después de guardar el archivo, necesitamos usar un comando artisan simple para ejecutar migraciones:

php artisan migrate

Si no ocurre ningún error, verifique la  base de datos blog y la tabla artículos.

Modelo Articulo

Como usted sabe, para cualquier cosa relacionada con las operaciones de bases de datos en Laravel, el uso de modelos es la mejor práctica. Nos beneficiaremos del ORM Eloquent.

Abra nuestro archivo app/Articulos.php y agregue el siguiente código.


<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Articulo extends Model
{
    protected $table = 'articulos';

    protected $fillable = [
        'titulo',
        'contenido',
        'idAutor'
    ];

    public $timestamps = true;

    public function Autor(){

        return $this->belongsTo('App\User','idAutor');
    }



}

Hemos establecido el nombre de la tabla de la base de datos con la variable protegida $table. También hemos establecido columnas editables con la variable $fillable y las marcas de tiempo con la variable $timestamps , como ya hemos visto y utilizado en los capítulos anteriores. Las variables que se definen en el modelo son suficientes para usar el ORM elocuente de Laravel. Cubriremos la función pública Autor()  y explicaremos la utilidad de esta función en los siguientes capitulos.

Nuestro modelo de publicaciones está listo. Ahora necesitamos un modelo de autores y una base de datos para asignar publicaciones de blog a los autores. Investiguemos el mecanismo de autenticación incorporado de Laravel.

Agregar un usuario

Ahora necesitamos crear un nuevo archivo de migración para agregar algunos autores a la base de datos. Podemos hacerlo ejecutando el siguiente comando:

php artisan make:migration crear_algunos_users

Abra el archivo de migración y edite la función  up() de la siguiente manera:


<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use App\User;

class CrearAlgunosUsers extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //
        User::create(array(
            'email' => 'admin@gmail.com',
            'password' => Hash::make('admin'),
            'name' => 'Cesar GI'
        ));
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}


Usamos una nueva clase en la función up(), que lleva el nombre Hash. Laravel tiene una clase de comprobador/fabricante de hash, que se basa en seguro Bcrypt. Bcrypt es un método de hashing aceptado y seguro para datos importantes como contraseñas.

Para ejecutar la migración y crear el usuario ejecute el comando artisan.

php artisan migrate

Ahora, revisa la tabla users para ver el registro. En la columna password peras el cifrado.

Es muy importante almacenar de forma segura las contraseñas de sus usuarios y sus datos críticos.



Indice del mini curso



Cesar GI

About Cesar GI

Lo que me importa es poder enseñar lo poco que se, por que asi como yo aprendo leyendo gracias a las personas que comparten sus conocimiento yo tambien quiero ayudar a la comunidad en español aportando lo poco que he aprendido hasta el momento.