Maison > cadre php > PensezPHP > le corps du texte

Comment thinkphp lie les modules

WBOY
Libérer: 2023-05-29 14:26:09
original
703 Les gens l'ont consulté

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();
    }
}
Copier après la connexion

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>
Copier après la connexion

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', // 默认模块名
    ...
);
Copier après la connexion

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();
    }
}
Copier après la connexion

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

<?php
namespace BlogControllerArticle;
use ThinkController;

class DetailsController extends Controller {
    public function index(){
        $this->display();
    }
}
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion
  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'), // 允许访问的模块
    ...
);
Copier après la connexion

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!

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