Dieser Artikel fasst die einführenden Wissenspunkte von Zend Framework zusammen und analysiert sie. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Zend Framework ist eine Implementierung des MVC-Musters. Um schnell loszulegen, schauen Sie sich einfach den Teil Zend_Controller Zend_View an.
1.Zend_Controller Teil. Die wichtigste Klasse ist Zend_Controller_Front. Der klassische Code zu ihrer Verwendung ist sehr einfach:
$front=Zend_Controller_Front::getInstance(); $front-> setControllerDirectory("./app/controllers"); $front->dispatch();
Zend_Controller_Front kann nur die getInstance-Methode aufrufen, um eine Instanz zurückzugeben (mein zend_framework verwendet 1.01). Das hier angegebene Controller-Verzeichnis befindet sich im App-Ordner im WWW-Dokumentstammverzeichnis. Im Allgemeinen sollten Apps nicht im Dokumentstammverzeichnis abgelegt werden – ein sogenanntes Sicherheitsproblem: Wenn die Konfiguration nicht streng ist, können die Dateien im WWW-Dokumentstammverzeichnis für Besucher sichtbar sein. Im Allgemeinen sollte es in einem anderen Verzeichnis abgelegt werden. Wenn es beispielsweise auf derselben Ebene wie das Stammverzeichnis des Dokuments abgelegt wird, können Sie Folgendes verwenden:
$front->setControllerDirectory("../app/controllers")
Noch eins „.“ Hier werden relative Pfade verwendet. Sie können andere Verzeichnisse mit ihren vollständigen Pfadnamen angeben. Zum Beispiel:
$front->setControllerDirectory("E: /server/app/controllers")
Dieser Teil ist im Index enthalten. in PHP. Bei korrekter Konfiguration wird jede Anfrage von der Rewrite-Funktion an diese $front umgeleitet, die die Front-End-Controller-Zend_Controller_Front-Instanz ist. Sämtliche Authentifizierungs- und sonstigen Verarbeitungsvorgänge müssen vor dem Versand durchgeführt werden.
2. Allgemeine Zend_View-Codes sind:
Die von Zend_Framework empfohlene Verzeichnisstruktur wird standardmäßig übernommen , Ansichten und Controller-Modelle auf derselben Ebene befinden sich alle im Anwendungsverzeichnis. Unter Ansichten gibt es drei Geschwisterverzeichnisse: Skripte, Helfer, Filter. Wenn Sie also einen Controller definieren, müssen Sie unter scrīpts ein neues Verzeichnis erstellen, um die dem Controller untergeordneten Vorlagen zu speichern. Zum Beispiel einfach
$view=new Zend_View(); Zend_Registry::set("view".$view);
Sie müssen darin entsprechend ein Indexverzeichnis erstellen und im Indexverzeichnis eine index.phtml-Vorlage erstellen . Wenn Sie unter IndexController eine weitere Funktion addAction() erstellen, müssen Sie eine neue add.phtml im Index erstellen. Wenn Sie einen anderen UserController haben, müssen Sie unter scrīpts ein entsprechendes Benutzerverzeichnis haben. Diese *.phtml-Dateien ähneln HTML-Dateien und definieren, wie der von Ihnen ausgegebene Inhalt angezeigt wird. Sie können es einfach leer lassen. Es kann jedoch nicht weggelassen werden, da sonst ein „Fehler“ angezeigt wird. Ungültiger Controller... Dies liegt daran, dass der Standard-ErrorController bereits registriert wurde. Der Standard-ErrorController wird aufgerufen, wenn der Front-End-Controller die entsprechende Controller-Verteilung nicht finden kann.
Class IndexController extends Zend_Controller_Action { function IndexAction() { } }
verwenden, um die Standardeinstellung für das PHP-Typverzeichnis abzubrechen. Verwenden Sie
$view->setParam ("noViewRanderer",true);
, um in den Standard-ErrorController zu schreiben. Verwenden Sie
$view->setParam ("noErrorHandler",true);
, um den Speicherort Ihrer Vorlage festzulegen. Dies ist nützlich, wenn Sie Smarty-Vorlagen verwenden.
$view->setscrīptPath ("./app/views");
kann folgendermaßen erhalten werden, wenn:
$view=new Zend_View_Smarty(); $view->setParam("noViewRanderer",true); $view->setParam("noErrorHandler",true); $view->setscrīptPath("./app/views"); Zend_Registry::set("view".$view);
3. Wenn Sie zum ersten Mal damit in Kontakt kommen, können Sie das Modell einfach als Datenobjekt verstehen Die Klasse Zend_Db_Table ist sehr gut gekapselt und wird im Allgemeinen verwendet:
$view=Zend_Registry::get("view");
Sie müssen nur den Namen der Tabelle angeben . Natürlich müssen Sie es nicht explizit angeben. In diesem Fall verwendet zendf standardmäßig Ihren Klassennamen, um die Tabelle in der Datenbank zu finden. Vergessen Sie nicht, den defaultAdapter für Zend_Db_Table anzugeben:
class data extends Zend_Db_Table { protected $_name="data"; }
config.ini ähnelt [general]
$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);
Ich hoffe, dieser Artikel wird Ihnen bei Ihrer PHP-Programmierung auf Basis des Zend Framework-Frameworks hilfreich sein.
db.adapter = PDO_MYSQL db.config.host = localhost db.config.username = rob db.config.password = 123456 db.config.dbname = zftest