Maison  >  Article  >  cadre php  >  Comment masquer wap.php dans thinkphp

Comment masquer wap.php dans thinkphp

PHPz
PHPzoriginal
2023-03-21 11:49:45623parcourir

Avec la popularité de l'Internet mobile, de plus en plus d'applications Web doivent prendre en charge l'accès aux téléphones mobiles, c'est pourquoi de nombreux sites disposeront d'un site WAP dédié pour faciliter l'accès des utilisateurs sur les appareils mobiles. Cependant, l'accès aux sites WAP via des URL n'est pas très convivial. Les URL comportent généralement des suffixes tels que "wap.php", ce qui pose problème aux utilisateurs. Cet article présentera une méthode pour masquer "wap.php" afin de rendre le site WAP plus convivial.

1. Introduction

Thinkphp est un framework PHP open source. Il est basé sur une programmation orientée objet et s'appuie fortement sur le modèle de conception MVC. Il encapsule la couche ORM, se connecte aux sources de données et développe rapidement des applications Web. . Pour les applications thinkphp qui doivent prendre en charge la mise en page WAP, masquer « wap.php » est une méthode efficace pour améliorer l'expérience d'accès des utilisateurs.

2. Analyse des idées

Dans le framework thinkphp, le mappage des adresses URL et les règles de routage sont responsables du composant de routage principal. Par conséquent, nous pouvons atteindre l'objectif de rendre l'URL du site WAP conviviale en modifiant les règles de routage et en masquant le suffixe "wap.php". La méthode spécifique d'implémentation est la suivante :

1. Modifier le fichier App/Conf/config.php :

'URL_ROUTER_ON'   => true,
'URL_ROUTE_RULES' => array(
    'wap'        => 'Index/Wap/index',
    ':action'   => 'Index/:1',
),

2 Créer un module Wap et modifier l'action correspondante du module :

class WapAction extends Action {
    public function _empty() {
        $this -> display('Index:index');
    }
    public function index() {
        $this -> display();
    }
}

3.

1. Créer un module Wap

Dans thinkphp, une application peut créer plusieurs modules. Un module est un répertoire indépendant contenant des vues et des contrôleurs indépendants. Nous pouvons créer un module Wap en exécutant la commande suivante :

php thinkphp.php -m -a Index -s Wap
Après avoir exécuté cette commande, le répertoire Wap sera créé dans le répertoire de l'application, et un contrôleur Index sera créé dans ce répertoire. Nous devons renommer ce contrôleur en WapController.class.php.

2. Modifiez le fichier App/Conf/config.php

Modifiez les règles de routage dans le fichier de configuration et mappez "wap" au contrôleur d'index du module Wap.

'URL_ROUTER_ON'   => true,
'URL_ROUTE_RULES' => array(
    'wap'        => 'Wap/Index/index',
    ':action'   => 'Index/:1',
),
A ce moment, lorsque l'utilisateur visite "http://example.com/wap", la méthode indexAction du contrôleur Index du module Wap sera appelée.

3. Modifiez le contrôleur du module Wap

Modifiez le contrôleur Index dans le module Wap pour masquer le suffixe "wap.php". Tout d’abord, nous devons intercepter toutes les méthodes inexistantes via la méthode _empty(). Lorsque la méthode spécifiée n'existe pas dans le module Wap, le résultat spécifié dans la méthode _empty() sera exécuté et nous pourrons revenir pour restituer le fichier modèle spécifié. Par exemple :

class WapController extends Controller {
    protected $is_wap = true;
    public function _empty() {
        $this -> display('Index:index');
    }
    public function index() {
        $this -> display();
    }
}
Lorsqu'une méthode n'existe pas, _empty() sera exécuté et le modèle Index:index sera rendu.

4. Résumé

En modifiant les règles de routage et le contrôleur de module du framework thinkphp, nous pouvons masquer le suffixe "wap.php", améliorer la convivialité de l'URL du site WAP et ainsi améliorer l'expérience utilisateur. En interceptant des méthodes inexistantes, nous pouvons également gérer les erreurs et empêcher le site d'être exploré par les robots d'exploration.

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