Laravel Intranet
Instalacion:
composer create-project --prefer-dist laravel/laravel blog "5.4.*" (sin la versión ,cargara la versión actual).
Para levantar el servidor: php artisan serve
Para ver los errores, ponerlo e modo debug.
Herramientas: laravel collective
{!!Html::style(“”)!!}
{!!Html::script(“”)!!}
Middleware
Vamos a crear uno de ejemplo,lo llamaremos Checkage,entonces en la terminal :
php artisan make:middleware CheckAge
Luego pondremos la condición que evaluara el middleware y en el controlador(ruta) operamos importando la clase
con el método “use” de php.
Para hacer grupos de middleware:
Ota forma para hacer un grupo:
VIEWS
El resources/views/greeting.blade.php
<!-- View stored in resources/views/greeting.blade.php -->
<html>
<body>
<h1>Hello, {{ $name }}</h1>
</body>
</html>
Tu controlador: enviamres la variable name.
Route::get('/', function () {
return view('greeting', ['name' => 'James']);
});
Cuando adjuntas una vista la puedes devolver con “/” o con un punto.
return view('admin.profile', $data);
Determinación de la existencia de una vista
use Illuminate\Support\Facades\View;
if (View::exists('emails.customer')) {
OTRA FORMA DE ENVIAR DATOS A LA VISTA:
return view('greeting')->with('name', 'Victoria');
Compartir datos con todas las vistas
Puedes enviar variables generales a todas las vistas: intentaremos enviar “juan”. después
cambiamos por la fecha de hoy.
PLANTILLAS BLADE
Con @yield(“name”) creas la sección en Master. Y con @section(“name”) ……. .. @endsection editas la sección.
Herencia @parent
Partial vs components
Ejemplo: solo para crear una modal y usarlas en cualquier lugar(@include trae desde la raíz ósea view/).
Creamos un partial: views/partials/modal.blade.php
<div class="thumbnail">
<img src="{{ $image }}" alt="{{ $title }}">
<div class="caption">
<h3>{{ $title }}</h3>
<p>{{ $url }}</p>
</div>
</div>
Usando include: en views/homes/contáctame.blade.php
@include('partial/modal', [
'title' => 'Styde',
'image' => asset('img/styde.jpg'),
'url' => 'styde.net'
])
Ahora en laravel 5.4 ya no se hace con includes sino con @component
@component('partial/modal')
@slot('title', 'Styde')
@slot('image', asset('img/styde.jpg'))
Comunidad de desarrollo web.
@endcomponent
PASAR DATOS ADICIONALES A UN COMPONENT:
@component('alert', ['foo' => 'bar'])
...
@endcomponent
ELOQUENT
ORM
1.-Crear la estructura desde terminal:
php artisan make:migration crear_tabla_pasteles
(si ya misgraste tablas, guardalas en otro directorio para q no lanze error)
Luego editar nueva migración.
Luego:
php artisan migrate
LISTO! YA DEBE ESTAR EN LA BD.
2.- Ahora a crear el modelo.
php artisan make:model Pastel
dentro del modelo indicamos la tabla
protected $table = 'pasteles';
Listo!
Manualmente:
CREATE TABLE pastel (
id integer unsigned not null,
nombre VARCHAR(10)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
primary key(“id”)
);
Schema::create('users', function(Blueprint $table) {
$table->increments('id');
$table->integer('people_id')->unsigned();
$table->string('password');
$table->text('permissions')->nullable();
$table->boolean('activated')->default(0);
$table->string('activation_code')->nullable();
$table->timestamp('activated_at')->nullable();
$table->timestamp('last_login')->nullable();
$table->string('persist_code')->nullable();
$table->string('reset_password_code')->nullable();
$table->timestamps();
});
Request –validate
Terminal: php artisan make:request DirectoryRequest
Los mensajes podemos reemplazarlos a los que se emiten por defecto (segun el idioma) en el ejemplo cuando no
pase la validación de min:3 entonces sale el mensaje en español, pero si no pasa el “required” entonces lanza
el mensaje en ingles de q es requerido.
Las reglas son definidas según en nombre del input. Sino no reconoce.
Mas forma de personalizar los mensaje:
https://laravel.com/docs/5.5/validation
perosnalzar mensajes de error y tipo de validacion
https://laravel.com/docs/5.5/validation#working-with-error-messages