Maison  >  Article  >  cadre php  >  Comment thinkphp lie les modules

Comment thinkphp lie les modules

WBOY
WBOYoriginal
2023-05-29 14:26:09629parcourir

Avec le développement continu de la technologie Internet, de plus en plus de sites Web et d'applications adoptent le modèle MVC comme cadre de conception. Parmi eux, le framework PHP représenté par ThinkPHP est l'un des modèles MVC les plus populaires. Dans le framework ThinkPHP, les modules constituent un concept très important. Les modules peuvent être utilisés pour diviser les applications en différents modules fonctionnels pour une gestion et une maintenance faciles. Mais les débutants peuvent rencontrer un problème, à savoir comment lier les modules. Ci-dessous, nous présenterons en détail comment ThinkPHP lie les modules.

1. Créer un module

Avant de commencer à lier des modules, créons d'abord un module. En prenant comme exemple la création d'un module nommé Blog, nous devons créer un répertoire nommé Blog dans le répertoire d'application du framework ThinkPHP, puis créer un contrôleur nommé Index et un contrôleur nommé index.html dans le répertoire Blog Template. Les opérations spécifiques sont les suivantes :

  1. Ouvrez le répertoire de l'application ThinkPHP, qui est généralement un répertoire nommé Application sous le répertoire www.
  2. Créez un répertoire nommé Blog dans le répertoire de l'application. Le nom du répertoire doit être le même que le nom du module.
  3. Créez un fichier de contrôleur nommé Index dans le répertoire Blog. Le nom du fichier de contrôleur doit être le même que le nom de la classe du contrôleur (dans cet exemple, le nom de la classe du contrôleur est IndexController et le nom du fichier est IndexController.class.php).
  4. Ajoutez une méthode nommée index dans le fichier du contrôleur d'index pour gérer les requêtes de pages Web.
  5. Créez un fichier modèle nommé index.html dans le répertoire Blog pour afficher le contenu de la page Web.

Exemple de code :

Fichier du contrôleur IndexController.class.php :

<?php
namespace BlogController;
use ThinkController;

class IndexController extends Controller {
    public function index(){
        $this->display();
    }
}

Fichier modèle index.html :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Blog</title>
</head>
<body>
    <h1>Welcome to my blog!</h1>
</body>
</html>

2. Module de liaison

Après avoir créé le module Blog, nous devons le connecter à l'application Bind to faites savoir au système à quel module il faut accéder. Les opérations spécifiques sont les suivantes :

  1. Ouvrez le fichier de configuration config.php dans le répertoire de l'application.
  2. Trouvez l'élément de configuration DEFAULT_MODULE et modifiez sa valeur en Blog.
  3. Enregistrez le fichier de configuration modifié.

Exemple de code :

fichier config.php :

<?php
return array(
    'DEFAULT_MODULE'     => 'Blog', // 默认模块名
    ...
);

Après avoir modifié le fichier de configuration, vous pouvez accéder au module Blog via l'URL suivante :

http://votredomaine/Blog

Liaison des sous-modules

. Certains Parfois, nous devons diviser un module en plusieurs sous-modules. Par exemple, dans le module Blog, nous pouvons créer la liste des articles et la page de détails de l'article en tant que sous-modules différents. Les opérations spécifiques sont les suivantes :

  1. Créez un répertoire nommé Article sous le répertoire Blog.
  2. Créez un contrôleur nommé Index et un fichier modèle nommé list.html dans le répertoire Article pour afficher la liste des articles.
  3. Créez un contrôleur nommé Détails et un fichier modèle nommé index.html dans le répertoire Article pour afficher la page de détails de l'article.

Fichier du contrôleur Article/IndexController.class.php :

<?php
namespace BlogControllerArticle;
use ThinkController;

class IndexController extends Controller {
    public function index(){
        $this->display();
    }
}

Fichier du contrôleur Article/DetailsController.class.php :

<?php
namespace BlogControllerArticle;
use ThinkController;

class DetailsController extends Controller {
    public function index(){
        $this->display();
    }
}

Fichier modèle Article/list.html :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Article List</title>
</head>
<body>
    <h1>Article List</h1>
</body>
</html>

Fichier modèle Article/index.html :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Article Details</title>
</head>
<body>
    <h1>Article Details</h1>
</body>
</html>
  1. Ouvrez le fichier de configuration config.php dans le répertoire de l'application.
  2. Recherchez l'élément de configuration URL_CASE_INSENSITIVE et modifiez sa valeur sur true pour rendre l'URL insensible à la casse.
  3. Recherchez l'élément de configuration MODULE_ALLOW_LIST et modifiez sa valeur en Blog, Blog/Article pour permettre l'accès aux modules Blog et Blog/Article.
  4. Enregistrez le fichier de configuration modifié.

Exemple de code :

Fichier config.php :

<?php
return array(
    'DEFAULT_MODULE'     => 'Blog', // 默认模块名
    'URL_CASE_INSENSITIVE'  => true, // URL不区分大小写
    'MODULE_ALLOW_LIST' => array('Blog','Blog/Article'), // 允许访问的模块
    ...
);

Après avoir modifié le fichier de configuration, vous pouvez accéder au sous-module Article via l'URL suivante :

http://votredomaine/Blog/Article/index

http://votredomaine/Blog/Article/details

Ce à quoi vous devez faire attention lors de la liaison de sous-modules, c'est que les fichiers du contrôleur et du modèle doivent être stockés dans des groupes. Le préfixe de groupe doit être ajouté au nom de la classe du contrôleur, par exemple. comme espace de noms de la classe du contrôleur dans cet exemple pour BlogControllerArticle. Dans le même temps, le fichier de configuration doit limiter les modules autorisés à accéder aux modules parents et aux modules enfants.

4. Résumé

Le module de liaison est un lien très important dans le modèle ThinkPHP MVC. Le module de liaison peut diviser l'application en plusieurs modules fonctionnels et séparer la logique et la disposition du code pour une gestion et une maintenance faciles. Cet article fournit une introduction détaillée à la manière dont ThinkPHP lie les modules, de la création de modules à la liaison de modules en passant par la liaison de sous-modules. J'espère qu'il sera utile aux débutants.

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