Avec le développement d'applications Web, de plus en plus de personnes commencent à utiliser des frameworks pour créer leurs propres applications. L'un des frameworks les plus populaires est Laravel. Laravel fournit de nombreuses fonctions et outils qui facilitent le développement, y compris une fonction permettant de masquer les identifiants, ce qui est très utile pour certaines applications ayant des exigences de sécurité élevées.
Dans de nombreuses applications, la clé primaire d'un enregistrement de données est généralement un identifiant numérique, ce qui facilite la gestion et la récupération des données. Cependant, nous devons parfois protéger ces enregistrements de données pour éviter qu’ils ne soient facilement exposés. Par exemple, si nos enregistrements de données contiennent des informations sensibles, nous souhaitons autoriser l'accès uniquement aux utilisateurs authentifiés.
Dans Laravel, nous pouvons utiliser une fonctionnalité appelée liaison de modèle de route pour transmettre implicitement la valeur de l'identifiant. Cela signifie que nous pouvons masquer l'identifiant dans l'URL et continuer à l'utiliser pour interroger des enregistrements de données. Voyons comment cela fonctionne.
Nous devons d'abord définir une clé de routage dans notre modèle, ce sera le champ que nous utiliserons implicitement. Dans notre exemple, nous utiliserons le champ slug pour identifier nos enregistrements de données.
class Post extends Model { public function getRouteKeyName() { return 'slug'; } }
Ensuite, nous devons mettre à jour notre définition de routage pour utiliser notre modèle et nos clés de routage. Par exemple, nous pouvons utiliser la route suivante pour afficher une publication :
Route::get('/posts/{post}', function (Post $post) { return view('post', compact('post')); });
Cela donnera à notre application une URL qui affichera la publication avec l'identifiant 1 :
http://example.com/posts/1
Cependant, afin de masquer l'identifiant, nous pouvons mettre à jour notre Route définition, utilisez un slug au lieu de id. Par exemple :
Route::get('/posts/{post:slug}', function (Post $post) { return view('post', compact('post')); });
Maintenant, nous pouvons utiliser le champ slug au lieu de l'identifiant dans notre URL. Par exemple, nous pouvons utiliser l'URL suivante pour afficher la même publication :
http://example.com/posts/my-first-post
Lorsque nous ouvrirons cette URL, Laravel utilisera notre modèle pour trouver la publication correspondant au slug "my-first-post" et la passera en paramètre transmis à notre contrôleur. Nous pouvons accéder aux propriétés et méthodes de la publication de la même manière qu'avant, par exemple :
<h1>{{ $post->title }}</h1> <p>{{ $post->content }}</p>
En utilisant cette façon, nous pouvons masquer l'identifiant dans notre application et utiliser à la place des champs. Ceci est très utile dans certaines applications, telles que :
En conclusion, le framework Laravel fournit de nombreux outils et fonctionnalités utiles, l'utilisation de la liaison de modèle de route peut nous aider à masquer les identifiants et à améliorer la sécurité et la convivialité de nos applications. Si vous êtes un développeur Laravel, il est recommandé d'essayer cette technique pour améliorer la qualité globale de votre application.
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!