Maison  >  Article  >  développement back-end  >  Comment utiliser Smarty avec CakePHP ?

Comment utiliser Smarty avec CakePHP ?

PHPz
PHPzoriginal
2023-06-03 15:10:501086parcourir

CakePHP est un framework PHP open source qui fournit des fonctionnalités et des outils riches pour accélérer le développement d'applications Web. L'une des fonctionnalités puissantes est le moteur de modèles. Par défaut, CakePHP utilise la syntaxe native de PHP pour le rendu des vues. Cependant, nous pouvons parfois souhaiter utiliser un autre moteur de modèles, tel que Smarty. Cet article explique comment utiliser Smarty dans CakePHP.

1. Qu'est-ce que Smarty ?

Smarty est un framework PHP basé sur des modèles qui permet de séparer le code PHP et le balisage HTML, améliorant ainsi la lisibilité et la maintenabilité des modèles. Il fournit diverses fonctions, telles que la substitution de variables, les instructions conditionnelles, les instructions de boucle, etc., pour rendre les fichiers modèles plus flexibles et dynamiques.

2. Comment utiliser Smarty dans CakePHP ?

1. Installez Smarty

Tout d'abord, vous devez ajouter Smarty au dossier fournisseur de CakePHP. Smarty peut être installé via Composer, ou en téléchargeant directement son code source et en le plaçant dans le bon dossier.

2. Configurez Smarty

Dans CakePHP, vous devez éditer le fichier app/Config/bootstrap.php pour configurer Smarty. Ajoutez le code suivant pour enregistrer Smarty :

App::import('Vendor', 'Smarty/Smarty');

Configure::write('Smarty', array(
'template_dir' => APP . 'View ' . DS 'Smarty',
'compile_dir' => APP 'tmp' . ' . DS 'cache',
'left_delimiter' => '{',
'right_delimiter' => '}',
'caching' => 'force_compile' => ;

Ce code ajoute le chemin du dossier Smarty au chemin du dossier et définit diverses options de configuration que Smarty doit utiliser, telles que le dossier de modèles, le dossier de compilation, le dossier de cache, les séparateurs gauche et droit, l'activation ou non de la mise en cache, etc. .

3. Créer un fichier de vue Smarty

Dans le dossier app/View, créez un sous-dossier nommé Smarty pour stocker les fichiers de modèle Smarty. Dans le dossier Smarty, créez un fichier nommé layout.tpl comme fichier de mise en page principal et ajoutez le code suivant au fichier modèle :

100db36a723c770d327fc0aef2ce13b1

93f0f5c25f18dab9d176bd4f6de5d30e

b2386ffb911b14667cb8f0f91ea547a7{$title|default : 'Mon application'}6e916e0f7d1e588d4f442bf645aedb2f

9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
845bc0347d2f48a149098cc22d7a5f95

  {* Display main content *}
  {$content}

16b28748ea4df4d9c2150843fecfba68
36cc49f0c466276486e50c850b7e4956

07e6e06e0dc95dc83bb70d14dca11cbe


Ce fichier modèle utilise la syntaxe Smarty pour générer des variables et des modèles de mise en page, et utilise une valeur par défaut dans la balise de titre.

4. Rendre la vue dans le contrôleur

Pour utiliser Smarty dans le contrôleur, vous devez charger la classe Smarty et l'utiliser pour restituer le modèle en HTML. Dans le contrôleur CakePHP, vous pouvez utiliser le code suivant pour charger la classe Smarty, définir le fichier de mise en page, définir les variables et restituer le modèle :

App::import('Vendor', 'Smarty/Smarty');

class MyController extends AppController {

public $layout = "Smarty/layout.tpl";

public $viewClass = 'Smarty';

public $helpers = array('Html', 'Form');

public function index() {

  $this->set('title', 'My App');
  $this->set('content', '<p>Hello, Smarty!</p>');

}

}

Ce contrôleur utilise la classe de rendu de Smarty pour restituer le modèle, définit le fichier de mise en page et définit les variables requises pour restituer le modèle.

5. Exécutez l'application

Lorsque vous accédez à l'application via le navigateur, vous devez appeler la méthode du contrôleur et restituer la vue via le routeur CakePHP. Cela garantira que CakePHP peut gérer correctement diverses requêtes et données avant de restituer le code HTML.

De plus, vous devez également faire attention aux problèmes de chemin. Smarty nécessite que les fichiers modèles soient correctement référencés dans le contrôleur afin que les mises en page et les variables soient rendues correctement. Par conséquent, veillez à utiliser des chemins relatifs ou absolus lors de la définition des chemins de modèle.

3. Conclusion

Utiliser Smarty dans CakePHP est très simple. En ajoutant Smarty au dossier du fournisseur, en modifiant le fichier bootstrap.php, en créant un fichier de modèle Smarty, en définissant et en rendant le modèle dans le contrôleur, vous pouvez facilement exploiter la puissance de Smarty pour fournir un rendu de vue meilleur et plus flexible pour votre application Web. .

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