Laravel est un jeune framework plein d'avenir. Sa communauté est pleine de vitalité, la documentation et les tutoriels pertinents sont complets et clairs, et il fournit les fonctions nécessaires pour développer des applications modernes rapidement et en toute sécurité. Dans les statistiques sur la popularité des frameworks PHP ces dernières années, Laravel a toujours été loin devant. Alors pourquoi le framework Laravel est-il populaire ?
Caractéristiques de Laravel :
Modularité et extensibilité
Laravel se concentre sur la modularité et l'évolutivité du code. Vous pouvez trouver n'importe quel fichier que vous souhaitez ajouter dans le répertoire Packalyst, qui contient plus de 5 500 packages. Le but de Laravel est de vous permettre de trouver n'importe quel fichier de votre choix.
Microservices et interfaces de programme
Lumen est un micro-framework dérivé de Laravel qui se concentre sur la rationalisation. Son interface de programmation performante vous permet de développer des micro-projets plus facilement et plus rapidement. Lumen intègre toutes les fonctionnalités importantes de Laravel avec une configuration minimale. Vous pouvez migrer le framework complet en copiant le code dans le projet Laravel.
<?php $app->get('/', function() { return view('lumen'); }); $app->post('framework/{id}', function($framework) { $this->dispatch(new Energy($framework)); });
Chemin HTTP
Laravel dispose d'un système de routage rapide et efficace similaire à Ruby on Rails. Il permet aux utilisateurs de relier des parties d'une application en saisissant des chemins dans le navigateur.
Middleware HTTP
Route::get('/', function () { return 'Hello World'; });
Les applications peuvent être protégées par un middleware - le middleware gère l'analyse et le filtrage des requêtes HTTP sur le serveur. Vous pouvez installer un middleware pour authentifier les utilisateurs enregistrés et éviter des problèmes tels que les scripts intersite (XSS) ou d'autres conditions de sécurité.
<?php namespace App/Http/Middleware; use Closure; class OldMiddleware { public function handle($request, Closure $next) { if ($request->input('age') <= 200) { return redirect('home'); } return $next($request); } }
Mise en cache
Votre application dispose d'un système de mise en cache robuste qui peut être configuré pour accélérer le chargement de votre application, ce qui peut offrir à vos utilisateurs la meilleure expérience.
Cache::extend('mongo', function($app) { return Cache::repository(new MongoStore); });
Authentification
La sécurité est essentielle. Laravel est livré avec une authentification des utilisateurs locaux et peut utiliser l'option « mémoriser » pour mémoriser les utilisateurs. Il vous permet également de définir certains paramètres supplémentaires, comme indiquer si l'utilisateur est actif.
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) { // The user is being remembered... }
Diverses intégrations
Laravel Cashier peut répondre à tous les besoins dont vous avez besoin pour développer un système de paiement. De plus, il synchronise et intègre les systèmes d'authentification des utilisateurs. Ainsi, vous n’avez plus à vous soucier de l’intégration de votre système de facturation dans votre développement.
$user = User::find(1); $user->subscription('monthly')->create($creditCardToken);
Automatisation des tâches
Elixir est une interface de programmation Laravel qui nous permet d'utiliser Gulp pour définir des tâches. Nous pouvons utiliser Elixir pour définir des préprocesseurs capables de rationaliser CSS et JavaScript. .
elixir(function(mix) { mix.browserify('main.js'); });
Cryptage
Une application sécurisée devrait être capable de crypter les données. En utilisant Laravel, vous pouvez activer l'algorithme de cryptage de sécurité OpenSSL AES-256-CBC pour répondre à tous vos besoins. De plus, toutes les valeurs cryptées sont signées par un code de vérification qui détecte si les informations cryptées ont été modifiées.
use Illuminate/Contracts/Encryption/DecryptException; try { $decrypted = Crypt::decrypt($encryptedValue); } catch (DecryptException $e) { // }
Gestion des événements
Les événements de votre application sont définis, enregistrés et écoutés très rapidement. L'écoute dans l'événement EventServiceProvider contient une liste de tous les événements enregistrés sur votre application.
protected $listen = [ 'App/Events/PodcastWasPurchased' => [ 'App/Listeners/EmailPurchaseConfirmation', ], ];
Pagination
La pagination dans Laravel est très simple en raison de sa capacité à générer une série de liens basés sur la page actuelle du navigateur de l'utilisateur.
<?php namespace App/Http/Controllers; use DB; use App/Http/Controllers/Controller; class UserController extends Controller { public function index() { $users = DB::table('users')->paginate(15); return view('user.index', ['users' => $users]); } }
Object Relational Mapping (ORM)
Laravel contient une couche qui gère les bases de données, et son mappage objet-relationnel est appelé Eloquent. De plus, cela s'applique également à PostgreSQL.
$users = User::where('votes', '>', 100)->take(10)->get(); foreach ($users as $user) { var_dump($user->name); }
Tests unitaires
Le développement de tests unitaires est une tâche qui prend du temps, mais c'est la clé pour garantir que nos applications continuent de fonctionner correctement. PHPUnit peut être utilisé pour effectuer des tests unitaires dans Laravel.
<php use Illuminate/Foundation/Testing/WithoutMiddleware; use Illuminate/Foundation/Testing/DatabaseTransactions; class ExampleTest extends TestCase { public function testBasicExample() { $this->visit('/')->see('Laravel 5')->dontSee('Rails'); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!