Home php教程 PHP开发 Summary of Zend Framework introductory knowledge points

Summary of Zend Framework introductory knowledge points

Jan 05, 2017 am 10:54 AM

This article summarizes and analyzes the introductory knowledge points of Zend Framework. Share it with everyone for your reference, the details are as follows:

zend framework is an implementation of the MVC pattern. If you want to get started quickly, just look at the Zend_Controller Zend_View part.

1.Zend_Controller part. The most important class is Zend_Controller_Front. The classic code to use it is very simple:

$front=Zend_Controller_Front::getInstance();
$front-> setControllerDirectory("./app/controllers");
$front->dispatch();
Copy after login

What I want to explain here is that you cannot use new to get a Zend_Controller_Front, you can only call the getInstance method to return an instance (used by my zend_framework is 1.01). The controllers directory I specified here is under the app folder under the www document root directory. Generally speaking, apps should not be placed in the document root directory - the so-called security issue: if the configuration is not strict, the files in the www document root directory may be visible to visitors. Generally, it should be placed in another directory. For example, if it is placed at the same level as the document root directory, you can use:

$front->setControllerDirectory("../app/controllers")
Copy after login

There is an extra ".". Relative paths are used here. You can specify other directories using their full path names. For example:

$front->setControllerDirectory("E: /server/app/controllers")
Copy after login

This part is included in the index. in php. Under the correct configuration, any request will be redirected by the rewrite function to this $front, which is the front-end controller Zend_Controller_Front instance. All authentication and other processing must be processed before dispatch.

2.Zend_View common code is:

$view=new Zend_View();
Zend_Registry::set("view".$view);
Copy after login

The directory structure recommended by Zend_Framework is adopted by default. That is, views and controllers models are at the same level. application directory. There are three sibling directories under views: scrīpts helpers filters. In this way, when you define a Controller, you have to create a new directory under scrīpts to store the templates subordinate to the Controller. For example, for a simple

Class IndexController extends Zend_Controller_Action
{
 function IndexAction()
 {
 }
}
Copy after login

, you have to create an index directory in it accordingly, and create an index.phtml template in the index directory. If you create another function addAction() under IndexController, you have to create a new add.phtml in index. If you have another UserController, you must have a corresponding user directory under scrīpts. These *.phtml files are similar to html files and define how the content you output is displayed. You can simply leave it blank. But it cannot be left out, otherwise it will prompt "error" invalid Controller... This is because the default ErrorController has already been registered. The default ErrorController will be called when the front-end controller cannot find the corresponding controller distribution.

Sometimes we don’t want to use the default directory structure or the default phtml type view template. At this time we can use

$view->setParam ("noViewRanderer",true);
Copy after login

to cancel the default phtml type directory setting. Use

$view->setParam ("noErrorHandler",true);
Copy after login

to write in the default ErrorController. Use

$view->setscrīptPath ("./app/views");
Copy after login

to set the location of your template. This is useful when using smarty templates.

You can write it like this:

$view=new Zend_View_Smarty();
$view->setParam("noViewRanderer",true);
$view->setParam("noErrorHandler",true);
$view->setscrīptPath("./app/views");
Zend_Registry::set("view".$view);
Copy after login

You can get it like this when using it:

$view=Zend_Registry::get("view");
Copy after login

3. When you first come into contact, the model can be simply understood as a data object. For database operations, you can generally directly inherit Zend_Db_Table. This class is very well encapsulated and is generally enough for use:

class data extends Zend_Db_Table
{
 protected $_name="data";
}
Copy after login

You only need to specify the name of the table. Of course, you don't need to specify it explicitly. In this case, zendf will use your class name to search for the table in the database by default. Don’t forget to specify the defaultAdapter for 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);
Copy after login

config.ini is similar to [general]

db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = rob
db.config.password = 123456
db.config.dbname = zftest
Copy after login

I hope this article will help everyone based on Zend Framework framework for PHP programming helps.

For more articles related to Zend Framework introductory knowledge points, please pay attention to the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)