recherche
Maisoncadre phpPensezPHPqu'est-ce que le routage thinkphp

qu'est-ce que le routage thinkphp

Dec 27, 2021 am 11:49 AM
thinkphp路由

Dans thinkphp, le routage fait référence au mappage attribué au gestionnaire correspondant en fonction de l'URL ; sa fonction est de simplifier l'adresse d'accès à l'URL et d'effectuer une analyse correcte en fonction du type de routage défini. En termes simples, le routage est l'analyse d'un chemin. Selon le chemin soumis par le client, la demande est analysée vers le module, le contrôleur ou la méthode correspondant.

qu'est-ce que le routage thinkphp

L'environnement d'exploitation de ce tutoriel : système Windows 7, version thinkphp v5.1, ordinateur Dell G3.

Étudions le mécanisme de routage de ThinkPHP5.

Bien que le manuel de développement complet de TP5 parle très clairement du routage, nous étudions toujours le routage du TP5 dans cet article. Après tout, lire un blog est plus confortable que lire un livre.

Tout d'abord, posez trois questions :

1. Qu'est-ce que Route ?

Route fait référence au mappage attribué au gestionnaire correspondant en fonction de l'URL.

En termes simples, il s'agit d'une analyse de chemin Selon le chemin soumis par le client, la demande est analysée vers le module/contrôleur/méthode correspondant.

Le document officiel est défini ainsi => Le rôle du routage est de simplifier les adresses d'accès aux URL et d'effectuer une analyse correcte en fonction du type de routage défini.

Explication manuelle : Lorsque nous accédons habituellement à notre projet ThinkPHP selon nos habitudes, l'url habituelle doit être écrite comme ceci, (exemple local) http://localhost/project name/public/index.php /Module name /Nom du contrôleur/Nom de la méthode

Après avoir entré une chaîne d'URL, je me sentirai très désespéré, (chuchotant) => "Je veux juste tester une petite interface qui me permet de taper une si longue chaîne d'adresses. , L'adresse est trop longue et je ne m'en souviens plus...". A ce moment, on peut utiliser le routage pour simplifier son adresse, et définir quelques règles tout en raccourcissant l'adresse.

2. Pourquoi utiliser le routage ?

Certaines personnes pourront lâcher : Pour simplifier le chemin. Bien sûr, c'est l'une des raisons, mais la raison n'est pas si simple.

La simplification du chemin est une raison importante, car au début j'ai pensé que le chemin était trop long et j'ai couru pour tourner sur l'itinéraire. Mais plus tard, en l'utilisant, j'ai découvert que le rôle de l'itinéraire n'était pas limité. à simplifier le chemin.

Nous pouvons activer l'utilisation forcée des routes, afin que tout le monde ne puisse entrer que par les routes que j'ai définies. Cela présente un avantage si vous écrivez des scripts dans certains contrôleurs auxquels vous ne souhaitez pas que les utilisateurs accèdent. vous pouvez activer l'application complète de l'itinéraire. Si cette option est utilisée, les utilisateurs ne peuvent pas accéder à ces scripts. Sinon, si les utilisateurs accèdent à ces scripts et que les scripts modifient parfois la base de données, cela sera plus dangereux.

De plus, nous pouvons définir si l'entrée de ce chemin est une opération get ou une opération post, de sorte qu'il n'y aura pas de situation comme avant. Une méthode de contrôleur est accessible depuis get et post. Bien sûr, certaines personnes diront que ce n'est pas grave si get et post sont accessibles. En fait, distinguer ces méthodes est plus utile pour incarner l'idée de l'API Restful.

De même, je ne parlerai pas des réglementations http et https.

Maintenant que nous sommes là, pensez-vous que le routage est un peu magique ? Il s'avère qu'il peut faire tellement de choses, alors étudions comment l'utiliser.

Utilisation de l'itinéraire

Avant de l'utiliser, comprenons d'abord les informations de configuration C'est toujours mon projet fork Ouvrez le fichier de configuration :


Il y a deux choses à payer. attention à Tout d'abord, dans la première case rouge, tp active le mode de routage pour nous par défaut. Dans la deuxième case rouge, tp désactive l'utilisation forcée du routage par défaut. Même maintenant, je peux accéder avec succès via notre mode d'adresse habituel, et l'accès via le routage peut également réussir.

Lorsque je travaille habituellement sur des projets, je change cela en vrai pour des raisons de sécurité, alors jetons un coup d'œil à l'effet

Lorsque le routage forcé n'est pas activé :


Suivez les adresse L'accès peut être réussi, nous permettons donc maintenant l'utilisation forcée du routage :


La même adresse a signalé une erreur, et une erreur d'itinéraire non trouvé a été générée. Parce que nous n'avons pas défini cet itinéraire dans le fichier de routage, une erreur a été générée, indiquant que nous sommes maintenant obligés d'utiliser l'itinéraire.

Alors définissons-le maintenant, tout d'abord, commençons par le plus simple :


Trouvez le fichier d'itinéraire


Nous devons d'abord introduire la classe d'itinéraire ci-dessous, réfléchir, puis nous l'appelons Get méthode statique, nous pouvons facilement savoir à partir du nom de la méthode qu'elle est accessible via la méthode get, alors que représentent les premier et deuxième paramètres ? Le deuxième paramètre représente le module/contrôleur dans l'URL/méthode normale, le premier paramètre représente ? le nom que vous souhaitez utiliser pour remplacer le module/contrôleur/méthode suivant.

En d'autres termes, j'ai initialement utilisé http://localhost/xx/public/index.php/xx/test/xx pour accéder à ma méthode de contrôleur, mais maintenant je n'ai besoin que de http://localhost/xx/public/ Index .php/xx peut accéder aux méthodes de mon contrôleur.

Regardez l'effet :


Vous avez utilisé avec succès l'accès au routage, puis regardons de plus près la formulation de cette règle (par exemple, la différence entre l'accès get et post)

Je change maintenant le get méthode à la méthode post Ensuite, j'utilise la méthode get pour y accéder et voir ce qui se passe :




Vous pouvez voir que nous ne pouvons pas y accéder si nous utilisons Get Only post. pouvez y accéder. Et si vous ressentez le plaisir du routage ?

Plus profondément, nous pouvons également définir l'itinéraire comme ceci :


Le troisième paramètre représente la méthode d'accès. Le formulaire que j'ai défini ici est que les opérations get et post peuvent y accéder. Le dernier paramètre Il représente si. pour vérifier le protocole https. S'il est faux, https ne sera pas vérifié. S'il est vrai, il ne sera pas trouvé lorsque nous utiliserons http pour y accéder. De cette façon, nous pouvons protéger davantage notre interface. Quant à l’effet, je ne le démontrerai pas.

Plus

Quelle est la particularité du routage ? Le routage peut même fusionner les paramètres transmis par l'opération get dans l'url. Notre opération get originale devrait ressembler à ceci : url ? id=1. Après le routage, nous pouvons le définir comme url/1. De cette façon, même le paramètre id est masqué. Quant au processus, accédez simplement au manuel de développement et recherchez-le.

Bien sûr, le routage a également d'autres fonctions auxiliaires, telles que les fonctions de fermeture, etc. Je ne les présenterai pas une par une, car cette fonction auxiliaire n'est pas très couramment utilisée dans le processus de développement. Si c'est le cas, vous. pouvez le vérifier dans le manuel de développement complet.

L'introduction pertinente au routage et les avantages de l'utilisation du routage sont présentés ici.

【Recommandation de tutoriel connexe : thinkphp framework

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Quelles sont les principales caractéristiques du cadre de test intégré de ThinkPHP?Quelles sont les principales caractéristiques du cadre de test intégré de ThinkPHP?Mar 18, 2025 pm 05:01 PM

L'article traite du cadre de test intégré de ThinkPhP, mettant en évidence ses principales fonctionnalités telles que les tests d'unité et d'intégration, et comment il améliore la fiabilité des applications grâce à la détection précoce des bogues et à une meilleure qualité de code.

Comment utiliser ThinkPHP pour construire des flux de données boursières en temps réel?Comment utiliser ThinkPHP pour construire des flux de données boursières en temps réel?Mar 18, 2025 pm 04:57 PM

L'article discute de l'utilisation de ThinkPHP pour les flux de données boursières en temps réel, en se concentrant sur la configuration, la précision des données, l'optimisation et les mesures de sécurité.

Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur?Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur?Mar 18, 2025 pm 04:54 PM

L'article traite des considérations clés pour l'utilisation de ThinkPHP dans des architectures sans serveur, en se concentrant sur l'optimisation des performances, la conception sans état et la sécurité. Il met en évidence des avantages tels que la rentabilité et l'évolutivité, mais relève également des défis

Comment implémenter la découverte de services et l'équilibrage de chargement dans les microservices ThinkPHP?Comment implémenter la découverte de services et l'équilibrage de chargement dans les microservices ThinkPHP?Mar 18, 2025 pm 04:51 PM

L'article discute de la mise en œuvre de la découverte de services et de l'équilibrage des charges dans les microservices ThinkPHP, en se concentrant sur la configuration, les meilleures pratiques, les méthodes d'intégration et les outils recommandés. [159 caractères]

Quelles sont les caractéristiques avancées du conteneur d'injection de dépendance de ThinkPhp?Quelles sont les caractéristiques avancées du conteneur d'injection de dépendance de ThinkPhp?Mar 18, 2025 pm 04:50 PM

Le conteneur IOC de ThinkPhp propose des fonctionnalités avancées comme le chargement paresseux, la liaison contextuelle et l'injection de méthode pour une gestion efficace des dépendances dans les applications PHP. COMMANDE CHARACTER: 159

Comment utiliser ThinkPHP pour créer des outils de collaboration en temps réel?Comment utiliser ThinkPHP pour créer des outils de collaboration en temps réel?Mar 18, 2025 pm 04:49 PM

L'article discute de l'utilisation de ThinkPHP pour créer des outils de collaboration en temps réel, en se concentrant sur la configuration, l'intégration WebSocket et les meilleures pratiques de sécurité.

Quels sont les principaux avantages de l'utilisation de ThinkPHP pour construire des applications SaaS?Quels sont les principaux avantages de l'utilisation de ThinkPHP pour construire des applications SaaS?Mar 18, 2025 pm 04:46 PM

ThinkPHP profite aux applications SaaS avec sa conception légère, son architecture MVC et sa extensibilité. Il améliore l'évolutivité, accélère le développement et améliore la sécurité grâce à diverses fonctionnalités.

Comment construire un système de file d'attente de tâches distribué avec ThinkPhp et RabbitMQ?Comment construire un système de file d'attente de tâches distribué avec ThinkPhp et RabbitMQ?Mar 18, 2025 pm 04:45 PM

L'article décrit la création d'un système de file d'attente de tâches distribué à l'aide de ThinkPhp et RabbitMQ, en se concentrant sur l'installation, la configuration, la gestion des tâches et l'évolutivité. Les problèmes clés incluent assurer la haute disponibilité, éviter les pièges communs comme Imprope

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire