Zusammenfassung der einführenden Wissenspunkte zum Zend Framework

高洛峰
Freigeben: 2023-03-04 10:42:01
Original
1219 Leute haben es durchsucht

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();
Nach dem Login kopieren

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")
Nach dem Login kopieren

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")
Nach dem Login kopieren

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);
Nach dem Login kopieren


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()
 {
 }
}
Nach dem Login kopieren
Manchmal möchten wir nicht die Standardverzeichnisstruktur oder die Standardansichtsvorlage vom Typ HTML verwenden. Zu diesem Zeitpunkt können wir


verwenden, um die Standardeinstellung für das PHP-Typverzeichnis abzubrechen. Verwenden Sie

$view->setParam ("noViewRanderer",true);
Nach dem Login kopieren


, um in den Standard-ErrorController zu schreiben. Verwenden Sie

$view->setParam ("noErrorHandler",true);
Nach dem Login kopieren


, um den Speicherort Ihrer Vorlage festzulegen. Dies ist nützlich, wenn Sie Smarty-Vorlagen verwenden.

$view->setscrīptPath ("./app/views");
Nach dem Login kopieren
kann folgendermaßen geschrieben werden:


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);
Nach dem Login kopieren
verwendet wird


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");
Nach dem Login kopieren


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";
}
Nach dem Login kopieren


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);
Nach dem Login kopieren


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
Nach dem Login kopieren
Weitere Artikel zu den einführenden Wissenspunkten zum Zend Framework finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage