Maison > développement back-end > tutoriel php > Résumé des points de connaissance d'introduction à Zend Framework

Résumé des points de connaissance d'introduction à Zend Framework

高洛峰
Libérer: 2023-03-04 10:42:01
original
1237 Les gens l'ont consulté

Cet article résume et analyse les points de connaissance introductifs de Zend Framework. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

zend framework est une implémentation du modèle MVC Pour commencer rapidement, il suffit de regarder la partie Zend_Controller Zend_View.

1.Partie Zend_Controller. La classe la plus importante est Zend_Controller_Front. Le code classique pour l'utiliser est très simple :

$front=Zend_Controller_Front::getInstance();
$front-> setControllerDirectory("./app/controllers");
$front->dispatch();
Copier après la connexion

Zend_Controller_Front ne peut appeler que la méthode getInstance pour renvoyer une instance (mon zend_framework utilise 1.01). Le répertoire des contrôleurs que j'ai spécifié ici se trouve sous le dossier app sous le répertoire racine du document www. D'une manière générale, les applications ne doivent pas être placées dans le répertoire racine du document - ce qu'on appelle un problème de sécurité : si la configuration n'est pas stricte, les fichiers du répertoire racine du document www peuvent être visibles par les visiteurs. Généralement, il doit être placé dans un autre répertoire. Par exemple, s'il est placé au même niveau que le répertoire racine du document, vous pouvez utiliser :


$front->setControllerDirectory("../app/controllers")
Copier après la connexion

Un "." de plus. Des chemins relatifs sont utilisés ici. Vous pouvez spécifier d'autres répertoires en utilisant leur chemin d'accès complet. Par exemple :


$front->setControllerDirectory("E: /server/app/controllers")
Copier après la connexion

Cette partie est incluse dans l'index. en php. Sous la configuration correcte, toute requête sera redirigée par la fonction de réécriture vers ce $front, qui est l'instance du contrôleur frontal Zend_Controller_Front. Toutes les authentifications et autres traitements doivent être traités avant l'expédition.

2. Les codes couramment utilisés par Zend_View sont :

$view=new Zend_View();
Zend_Registry::set("view".$view);
Copier après la connexion

La structure de répertoires recommandée par Zend_Framework est adoptée par défaut. c'est-à-dire les vues et les contrôleurs. Les modèles du même niveau se trouvent tous dans le répertoire de l'application. Il y a trois répertoires frères sous les vues : les filtres d'aide aux scripts. De cette façon, lorsque vous définissez un contrôleur, vous devez créer un nouveau répertoire sous scripts pour stocker les modèles subordonnés au contrôleur. Par exemple, simplement


Class IndexController extends Zend_Controller_Action
{
 function IndexAction()
 {
 }
}
Copier après la connexion

Vous devez y créer un répertoire d'index en conséquence et créer un modèle index.phtml dans le répertoire d'index . Si vous créez une autre fonction addAction() sous IndexController, vous devez créer un nouveau add.phtml dans index. Si vous disposez d'un autre UserController, vous devez disposer d'un répertoire utilisateur correspondant sous scripts. Ces fichiers *.phtml sont similaires aux fichiers HTML et définissent la manière dont le contenu que vous produisez est affiché. Vous pouvez simplement le laisser vide. Mais il ne peut pas être laissé de côté, sinon cela provoquera une "erreur" Contrôleur invalide... En effet, le ErrorController par défaut a déjà été enregistré. Le ErrorController par défaut sera appelé lorsque le contrôleur frontal ne trouvera pas la distribution de contrôleur correspondante.

Parfois, nous ne souhaitons pas utiliser la structure de répertoires par défaut ou le modèle de vue de type phtml par défaut. À ce stade, nous pouvons utiliser

$view->setParam ("noViewRanderer",true);
Copier après la connexion

pour annuler le paramètre de répertoire de type phtml par défaut. Utilisez


$view->setParam ("noErrorHandler",true);
Copier après la connexion

pour écrire dans le ErrorController par défaut. Utilisez


$view->setscrīptPath ("./app/views");
Copier après la connexion

pour définir l'emplacement de votre modèle. Ceci est utile lorsque vous utilisez des modèles intelligents.

peut s'écrire comme ceci :

$view=new Zend_View_Smarty();
$view->setParam("noViewRanderer",true);
$view->setParam("noErrorHandler",true);
$view->setscrīptPath("./app/views");
Zend_Registry::set("view".$view);
Copier après la connexion

peut être obtenu comme ceci en utilisant :


$view=Zend_Registry::get("view");
Copier après la connexion

3. Lorsque vous entrez en contact avec lui pour la première fois, le modèle peut être simplement compris comme un objet de données. Pour les opérations de base de données, vous pouvez généralement hériter directement du modèle. Classe Zend_Db_Table. Cette classe est très bien encapsulée et est généralement utilisée assez :


class data extends Zend_Db_Table
{
 protected $_name="data";
}
Copier après la connexion

Il vous suffit de spécifier le nom de la table. Bien sûr, vous n'avez pas besoin de le spécifier explicitement. Dans ce cas, zendf utilisera par défaut votre nom de classe pour trouver la table dans la base de données. N'oubliez pas de spécifier l'adaptateur par défaut pour Zend_Db_Table :


$config = new Zend_Config_Ini('./application/config.ini', 'general');
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
Copier après la connexion

config.ini est similaire à [general]


db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = rob
db.config.password = 123456
db.config.dbname = zftest
Copier après la connexion

J'espère que cet article sera utile à votre programmation PHP basée sur le framework Zend Framework.

Pour plus d'articles liés aux points de connaissances d'introduction au Zend Framework, veuillez faire attention au site Web PHP 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