O Laravel é uma estrutura Web PHP de código aberto gratuito, criado por Taylor Otwell e destinado ao desenvolvimento de aplicativos da Web, seguindo o padrão arquitetônico Model-View-Controller (MVC) e com base em Symfony. Alguns dos recursos do Laravel são um sistema de embalagens modulares com um gerenciador de dependência dedicado, maneiras diferentes de acessar bancos de dados relacionais, utilitários que ajudam na implantação e manutenção de aplicativos e sua orientação para o açúcar sintático.
O componente do modelo corresponde a toda a lógica relacionada a dados com os quais o usuário trabalha. Isso pode representar os dados que estão sendo transferidos entre os componentes de visualização e controlador ou quaisquer outros dados relacionados à lógica de negócios.
Pasta: App/
O componente de visualização é usado para toda a lógica da interface do usuário do aplicativo.
Pasta: Recursos/Visualizações
Os controladores atuam como uma interface entre os componentes do modelo e da visualização para processar todas as lógicas de negócios e solicitações recebidas, manipular dados usando o componente do modelo e interagir com as vistas para renderizar a saída final.
Pasta: app/http/controlador
Requisito para este projeto:
"php": "^7.1.3",
"laravel/framework": "5.7.*",
Configuração do Laravel:
Install PHP 7.1.3
Instal MySQL
Install Composer
Atualizar pasta do fornecedor:
composer update
or
composer install
Digite no CMD para criar um projeto:
composer global require "laravel/installer"
laravel new blogname
Verifique o comando ou referência disponível no Laravel
php artisan list
php artisan help [command name]
ex. php artisan help make:model
Execute o Laravel
php artisan serve
or
in browser http://localhost/laravel/magelaravel/public/
Banco de dados de configuração em .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homested
DB_USERNAME=homestead
DB_PASSWORD=secret
Autenticação de configuração (Opcional):
php artisan make:auth
Configuração do banco de dados de configuração
php artisan migrate
php artisan migrate:refresh //if you want to change laravel model
Configurar email para fins de teste
MAIL_DRIVER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
or
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mageCE0721
MAIL_ENCRYPTION=tls
Configure o controlador de casa para gerenciar a rota do site. App/http/controladores/homeController.php
public function index()
{
$post = Post::all();
return view( 'index' , ['post' => $post ]);
}
public function detail(Request $request)
{
$post = Post::find($request->post);
return view('detail' , ['post' => $post ]);
}
public function home()
{
$post = Post::all();
return view( 'home' , ['post' => $post ]);
}
public function edit(Request $request)
{
$post = Post::find($request->idpost);
return view( 'edit' , ['post' => $post ]);
}
Criar modelo, controlador, migração para post
php artisan make:controller PostController
php artisan make:model Post
php artisan make:migration create_post_table --create=posts
or
php artisan make:model Post -mc
Faça CRUD (Crie Ler Update Delete) e coloque -os em pós -controller.php para controlar o aplicativo de gerenciamento de dados/http/controllers/postcontroller.php
public function create(Request $request)
{
// Validate the request...
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->username = auth()->user()->name;//auth()->id()
$post->save();
return back();
}
public function update(Request $request)
{
// Validate the request...
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post = Post::find($request->idpost);
$post->title = $request->title;
$post->content = $request->content;
$post->save();
return redirect('/home');
}
public function delete(Request $request)
{
$post = Post::find($request->idpost);
$post->delete();
return back();
}
Para usar o controlador colocá -lo nas rotas/web.php, você pode colocar seu código diretamente em rotas/web.php, mas é mais recomendável colocá -lo no aplicativo/http/controlador para tornar seu código mais organizável
Route::get('/', 'HomeController@index');
Route::get('/detail/{post}', 'HomeController@detail');
Auth::routes();
Route::get('/home', 'HomeController@home')->name('home');
Route::get('/home/edit/{idpost}', 'HomeController@edit');
Route::post('/post/create', 'PostController@create');
Route::post('/post/update/{idpost}', 'PostController@update');
Route::get('/post/delete/{idpost}', 'PostController@delete');
Gerencie a visualização do site com modelo de lâmina. O uso do modelo de lâmina facilita a criação da página HTML. Exemplo:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8">
@foreach ($post as $p)
<p>
<h4><a href="/detail/{{$p->id}}">{{ $p->title }}</a></h4>
{{ $p->created_at->toFormattedDateString() }} <span style="float:right">Author : {{ $p->username }}</span>
</p>
@endforeach
</div>
</div>
</div>
@endsection
No Laravel, há duas maneiras de controlar o banco de dados. Com consultor de consultas e eloquente. Eloquent é criado pelo Laravel para facilitar o gerenciamento do banco de dados
Get Data Example with Query Bulider
DB::table('users')->get();
DB::table('users')->where('name', 'John')->first();
Get Data Example with Eloquent
AppFlight::all();
AppFlight::where('active', 1)->orderBy('name', 'desc')->take(10)->get();
Que parte do básico usando o Laravel. Você pode usar este projeto para referência. Execute este projeto no seu próprio computador para ver como o Laravel básico funciona.