Heim > php教程 > php手册 > Zend Framework框架简单配置

Zend Framework框架简单配置

WBOY
Freigeben: 2016-06-13 09:38:42
Original
1081 Leute haben es durchsucht

由于项目需要用到Zend Framework框架,所以现在开始深入学习这个框架。第一课总是,输出Hello World。

配置Zend Framework运行的PHP环境

首先确认你的PHP环境,Zend Framework 要求 PHP版本不低于5.1.4,但强烈建议使用 5.2.3 或更高版本,因为在这两个版本之间有许多重大安全和性能方面的改善和提高。

PHP环境配置好了之后,请打开php.ini文件,确认PDO扩展是否打开。如果没有请把extension=php_pdo.dll之前的;号给去掉。

打开APACHE文件夹里面的httpd.conf文件,查找到apache的mod_rewrite模块,确认LoadModule rewrite_module modules/mod_rewrite.so是否打开。如果没有请去掉它前面的#号。

查找到httpd.conf文件,如果AllowOverride为None的话,请一定把None都改成all,这样你写.htaccess这样的文件才会起到作用。

重新启动你的APACHE服务器,这样我们的PHP环境就可以运用Zend Framewrok了。

配置Zend Framework项目

项目文件夹如下:

下面介绍下需要修改的文件名与其代码。

index.php(网站入口)文件及说明:

<?php
	/*
	 * Date: 2010.11.19
	 * Author:Gonn By www.bkjia.com
	 * Email:gonnsai@163.com
	 * QQ:252211974
	 * Blog:http://www.bkjia.com
	 */
	error_reporting(E_ALL|E_STRICT);
	date_default_timezone_set('Asia/Shanghai');
	
	set_include_path('.' .PATH_SEPARATOR .'./library'.PATH_SEPARATOR .'./application/models/'.PATH_SEPARATOR . get_include_path());
	//require_once 'Zend/Loader.php';
	//Zend_Loader::registerAutoload();		//设置Zend Framework 自动载入类文件
	require_once "Zend/Loader/Autoloader.php";
	Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
	$registry = Zend_Registry::getInstance(); 
	$view = new Zend_View();
	$view->setScriptPath('./application/views/scripts/');	//设置模板显示路径
	$registry['view'] = $view;	//注册View
	//设置控制器
	$frontController =Zend_Controller_Front::getInstance();
	$frontController->setBaseUrl('/zendframework')	//设置基本路径
					->setParam('noViewRenderer', true)
					->setControllerDirectory('./application/controllers')
					->throwExceptions(true)
					->dispatch();
?>
Nach dem Login kopieren

IndexController.php文件及说明:

<?php
class IndexController extends Zend_Controller_Action
{	
	function init()
    {
        $this->registry = Zend_Registry::getInstance();
        $this->view = $this->registry['view'];
        $this->view->baseUrl = $this->_request->getBaseUrl();
            
    }
    
	/*
	 * 输出Hello World 的Action(动作)!
	 */
	function indexAction() 
    { 
      	//这里给变量赋值,在index.phtml模板里显示
        $this->view->bodyTitle = '<h1>Hello World!</h1>';
		echo $this->view->render('index.phtml');//显示模版  
    } 
}
?>
Nach dem Login kopieren

index.phtml模板文件说明:

<?=$this->bodyTitle; ?><!-- 这里输出控制器里Action传过来的值:hello world -->
Nach dem Login kopieren

在浏览器输入:http://localhost/zendframework/,即可输出Hello World。

PS:关于错误提示Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead

从1.8.0版本开始不推荐使用Zend_Loader::autoload,Zend_Loader::autoload会在2.0.0版本中移除,推荐使用Zend_Loader_Autoloader来替代Zend_Loader::autoload.

如果将

require_once('Zend/Loader.php'); 
Zend_Loader::registerAutoload();
Nach dem Login kopieren

改成

require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
Nach dem Login kopieren

会提示Fatal error: Class 'Templater' not found in /var/www/phpweb20/htdocs/index.php on line 35

我想应该是加载类失败吧,因为路径里面明明就有'Templater'类,那问题应该还是出现在Zend_Loader_Autoloader中。

只要改为

require_once "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
Nach dem Login kopieren

就OK了!

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