Heim > php教程 > PHP开发 > Hauptteil

Zusammenfassung der einführenden Wissenspunkte zum Zend Framework

高洛峰
Freigeben: 2017-01-05 10:54:26
Original
1416 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:

Das 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

Was hier erklärt werden sollte, ist, dass Sie new nicht verwenden können, um einen Zend_Controller_Front zu erhalten, sondern nur die Methode getInstance aufrufen können eine Instanz zurückgeben (mein zend_framework 1.01 wird verwendet). 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

Es gibt ein zusätzliches „.“ 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:

$view=new Zend_View();
Zend_Registry::set("view".$view);
Nach dem Login kopieren

Die von Zend_Framework empfohlene Verzeichnisstruktur wird standardmäßig übernommen. Das heißt, Ansichten und Controller-Modelle befinden sich alle auf derselben Ebene 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. Beispielsweise müssen Sie für ein einfaches

Class IndexController extends Zend_Controller_Action
{
 function IndexAction()
 {
 }
}
Nach dem Login kopieren

ein entsprechendes 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.

Manchmal möchten wir nicht die Standardverzeichnisstruktur oder die Standardansichtsvorlage vom Typ HTML verwenden. Zu diesem Zeitpunkt können wir

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

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

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

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

$view->setscrīptPath ("./app/views");
Nach dem Login kopieren

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

kann wie folgt geschrieben werden:

$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

kann wie folgt erhalten werden, wenn:

$view=Zend_Registry::get("view");
Nach dem Login kopieren

verwendet wird

3. Beim ersten Kontakt kann das Modell einfach als Datenobjekt verstanden werden. Für diejenigen, die die Datenbank betreiben, kann diese Klasse im Allgemeinen direkt geerbt werden ist sehr gut gekapselt und reicht im Allgemeinen für die Verwendung aus:

class data extends Zend_Db_Table
{
 protected $_name="data";
}
Nach dem Login kopieren

Sie müssen natürlich nur den Namen der Tabelle angeben. In diesem Fall verwendet zendf standardmäßig Ihren Klassennamen, um nach der Tabelle in der Datenbank zu suchen. Vergessen Sie nicht, defaultAdapter für Zend_Db_Table anzugeben:

$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

config.ini ähnelt [general]

db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = rob
db.config.password = 123456
db.config.dbname = zftest
Nach dem Login kopieren

Hope Dieser Artikel erklärt, dass es für jeden hilfreich sein wird, PHP-Programme basierend auf dem Zend Framework-Framework zu entwerfen.

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 Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage