Comment inclure dynamiquement des fichiers à l'aide de ThinkPHP

不言
Libérer: 2023-03-31 14:32:01
original
1586 Les gens l'ont consulté

Cet article présente principalement la méthode d'inclusion dynamique de fichiers dans ThinkPHP. C'est une compétence très pratique dans le développement de projets ThinkPHP. Les amis qui en ont besoin peuvent s'y référer

L'exemple de cet article décrit la mise en œuvre de. fichiers inclus dynamiquement dans la méthode ThinkPHP. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Description du problème : Il est également très courant de rencontrer des problèmes lors de la réalisation de projets. Généralement, la page d'accueil contient des en-têtes et des étapes afin de faciliter la gestion, ceux-ci doivent être implémentés. en utilisant des fichiers d'inclusion. ThinkPHP Fournit une méthode pour inclure des fichiers. Ce qui précède est le moyen le plus simple d'inclure des opérations. Cependant, pendant le processus en cours, j'ai constaté que seul le fichier modèle est demandé lors de la demande, ce qu'on appelle l'inclusion statique. Mais si vous rencontrez un menu Il est difficile à gérer s'il est généré dynamiquement

J'ai trouvé une solution sur Internet : utiliser Widget

1 Nous implémentons un Widget pour l'affichage classifié sur le. Tout d'abord, nous devons implémenter notre première couche de contrôleur de widget CateWidget, comme suit :

class CateWidget extends Action {  
    public function menu(){  
        return 'menuWidget';  
    }  
}
Copier après la connexion

Notez qu'elle est définie dans le package Widget, ce qui est différent de l'action générale<🎜. >

2. Ensuite, on le passe dans le template. La méthode R appelle ce Widget (la méthode Widget étendue utilise la méthode W dans le template).

{:R(&#39;Cate/Menu&#39;,&#39;&#39;,&#39;Widget&#39;)}
Copier après la connexion
Le résultat de sortie après exécution est : menuWidget

3 Si la méthode de menu de la classe CateWidget est modifiée en :


Le code est le suivant. suit :

class CateWidget extends Action {  
    public function menu(){  
        echo &#39;menuWidget&#39;;  
    }  
}
Copier après la connexion

4. L'utilisation dans le modèle doit être modifiée en :

Le code est le suivant :

{~R(&#39;Cate/Menu&#39;,&#39;&#39;,&#39;Widget&#39;)}
Copier après la connexion
5. Si nécessaire, lors de l'appel du Widget Pour utiliser les paramètres, vous pouvez les définir comme ceci :


Le code est le suivant :

class CateWidget extends Action {  
    public function menu($id,$name){  
        echo $id.&#39;:&#39;.$name;  
    }  
}
Copier après la connexion
6. dans le modèle, utilisez :


Le code est le suivant :

{:R(&#39;Cate/Menu&#39;,array(5,&#39;thinkphp&#39;),&#39;Widget&#39;)}
Copier après la connexion
affichera 5 : thinkphp

7. Prenons un exemple plus compliqué :


Le code est le suivant :

class CateWidget extends Action {  
    public function menu(){  
        $menu = M(&#39;Cate&#39;)->getField(&#39;id,title&#39;);  
        $this->assign(&#39;menu&#39;,$menu);  
        $this->display(&#39;Cate:menu&#39;);  
    }  
}
Copier après la connexion
8. La classe CateWiget restitue un fichier modèle Tpl/Cate/menu.html. différence entre l'utilisation de cette méthode pour implémenter Widget (dans la méthode d'extension Widget, la méthode renderFile doit être appelée pour restituer le modèle). Utilisation de

dans le fichier modèle menu.html : {$key} :{$title}

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. .Plus connexe Veuillez faire attention au contenu du site Web chinois PHP !

Recommandations associées :

À propos du code de la classe de cache de fichiers ThinkPHP

Analyse des fonctions et de l'utilisation des widgets dans Framework thinkPHP5

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!