Laravel est un cadre Web PHP gratuit et open source, créé par Taylor Otwell et destiné au développement d'applications Web suivant le modèle architectural Model - View-contrôleur (MVC) et basé sur Symfony. Certaines des caractéristiques de Laravel sont un système d'emballage modulaire avec un gestionnaire de dépendances dédié, différentes façons d'accès aux bases de données relationnelles, des services publics qui aident au déploiement et à la maintenance des applications, et à son orientation vers le sucre syntaxique.
Le composant modèle correspond à toute la logique liée aux données avec laquelle l'utilisateur travaille. Cela peut représenter soit les données transférées entre la vue et les composants du contrôleur ou toute autre données liées à la logique métier.
Dossier: app /
Le composant de vue est utilisé pour toute la logique de l'interface utilisateur de l'application.
Dossier: ressources / vues
Les contrôleurs agissent comme une interface entre les composants du modèle et de la vue pour traiter toutes les demandes de logique métier et entrantes, manipuler les données à l'aide du composant modèle et interagir avec les vues pour rendre la sortie finale.
Dossier: app / http / contrôleur
Exigence pour ce projet:
"php": "^7.1.3",
"laravel/framework": "5.7.*",
Configuration de Laravel:
Install PHP 7.1.3
Instal MySQL
Install Composer
Mettre à jour le dossier du fournisseur:
composer update
or
composer install
Tapez sur CMD pour créer un projet:
composer global require "laravel/installer"
laravel new blogname
Vérifiez la commande ou la référence disponible dans Laravel
php artisan list
php artisan help [command name]
ex. php artisan help make:model
Courir Laravel
php artisan serve
or
in browser http://localhost/laravel/magelaravel/public/
Configuration de la base de données dans .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homested
DB_USERNAME=homestead
DB_PASSWORD=secret
Configuration de l'authentification (facultative):
php artisan make:auth
Configuration de la configuration de la base de données
php artisan migrate
php artisan migrate:refresh //if you want to change laravel model
Configuration du courrier électronique à des fins de test
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
Configurez HomeController pour gérer l'itinéraire du site Web. App / http / contrôleurs / 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 ]);
}
Créer un modèle, un contrôleur, une migration pour le 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
Faites Crud (Créez la mise à jour de lecture) et mettez toutes les dans PostController.php pour contrôler l'application de gestion des données / 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();
}
Pour utiliser le contrôleur, placez-le dans les routes / web.php, vous pouvez directement mettre votre code dans Routes / web.php, mais il est plus recommandé de le mettre dans l'application / http / contrôleur pour rendre votre code plus organisable
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');
Gérez la vue du site Web avec le modèle de lame. Utilisation du modèle de lame faciliter la création de la page HTML. Exemple:
@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
Dans Laravel, il y a deux façons de contrôler la base de données. Avec un constructeur de requête et éloquent. Eloquent est créé par Laravel pour faciliter la gestion de la base de données
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 certains des basiques utilisant Laravel. Vous pouvez utiliser ce projet pour référence. Exécutez ce projet sur votre propre ordinateur pour voir le fonctionnement de Laravel de base.