Maison > cadre php > PensezPHP > le corps du texte

Parlons du contrôleur vide de ThinkPHP6

王雪芹
Libérer: 2020-06-12 11:59:25
original
3446 Les gens l'ont consulté

Le contrôleur vide n'occupe qu'un très petit espace dans le manuel ThinkPHP6. Alors, qu'est-ce qu'un contrôleur vide ? Même ce mot peut ne pas être entendu ou utilisé par de nombreux programmeurs. Alors cette fois, permettez-moi d'utiliser un exemple pratique pour parler du contrôleur vide. contrôleur vide de ThinkPHP6.

Nous recherchons le mot-clé "contrôleur vide" dans le manuel officiel de ThinkPHP6, et nous pouvons trouver le contenu du chapitre du contrôleur vide. Jetons d'abord un coup d'œil à la définition officielle d'un contrôleur vide :

Le concept de contrôleur vide signifie que lorsque le système ne peut pas trouver le nom du contrôleur spécifié, le système essaiera de localiser la classe de contrôleur vide (Erreur) de l'application actuelle, en utilisant ce mécanisme que nous pouvons utiliser pour personnaliser les pages d'erreur et optimiser les URL.

C'est-à-dire que nous pouvons utiliser un contrôleur vide pour personnaliser notre page d'erreur.

Le manuel utilise une seule application comme exemple, mais en réalité, la plupart de nos projets ont plusieurs applications, nous utilisons donc ensuite plusieurs applications comme exemple.

Supposons que le nom de domaine de notre projet soit www.xiangmu.com Nous avons deux applications, index et démo. Chaque application a son propre contrôleur d'index et sa propre méthode d'index.

1. Je ne trouve pas de moyen.

Si nous entrons www.xiangmu.com/index/index/a dans le navigateur, cette adresse accédera à la méthode a dans le contrôleur d'index sous l'application d'index, mais notre méthode a ne le fait pas 'n'existe pas. Que se passe-t-il si cette demande invalide peut être rejetée ? Ensuite, notre contrôleur vide dans cette section apparaîtra.

Nous ajoutons la méthode suivante au contrôle d'index :

public function __call($method, $args){
    return 'error request!';
}
Copier après la connexion

Tant que vous accédez à des méthodes introuvables dans le contrôle d'index, vous accéderez à __call. Alors maintenant que nous avons atteint __call(), pour la page qui n'existe pas, pouvons-nous créer un 404.html et utiliser call() pour restituer le modèle.

2. Le contrôleur est introuvable.

La méthode ci-dessus est introuvable. Que dois-je faire si le contrôleur est introuvable ? Je saisis au hasard le contrôleur dans le navigateur, www.xiangmu.com/index/a/a. En fait, nous n'avons ni contrôleur ni méthode. Et si nous pouvions rejeter cette demande invalide ?

Utilisez ensuite le contrôleur Error.php ci-dessous pour résoudre le problème. Ajoutez que l'accès actuel est l'application d'index, nous mettons donc Error.php sous l'application d'index. De la même manière, nous pouvons également mettre en place des pages d'erreur telles que 404.

<?php
namespace app\index\controller;

use app\BaseController;

class Error extends BaseController
{
    public function __call($method, $args){
            return &#39;error request!&#39;;
    }
}
Copier après la connexion

Ce qui précède est l'explication pertinente sur le contrôleur vide, allez l'essayer maintenant !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal