学习《PHP Web2.0 开发实战》中ZF的使用,刚创建了简单的IndexController类,想看一下效果,结果出现错误:
问题1:
Notice: 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 in D:\PHPServer\zend\library\Zend\Loader.php on line 266
解决1:
因为从zf2.0开始已经使用 Zend_Loader_Autoloader替代了Zend_Loader,所以需要使用新类,因此index.php中代码修改为
require_once('Zend/Loader/Autoloader.php');
$loader = Zend_Loader_Autoloader::getInstance();
问题2:
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in D:\PHPServer\zend\library\Zend\Controller\Dispatcher\Standard.php:248 Stack trace: #0 D:\PHPServer\zend\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 D:\PHPRoot\phpweb20\htdocs\index.php(10): Zend_Controller_Front->dispatch() #2 {main} thrown in D:\PHPServer\zend\library\Zend\Controller\Dispatcher\Standard.php on line 248
解决2:
这个问题是由于没有默认的错误控制器引起的,代码中增加
$frontController->setParam('useDefaultControllerAlways', true);
控制器会自动寻找与之对应的模型,根据需要的错误中所描述的路径,建立对应的模型。
问题3:
Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'index/index.phtml' not found in path (d:/phproot/phpweb20/include/views\scripts/)' in D:\PHPServer\zend\library\Zend\View\Abstract.php:980 Stack trace: #0 D:\PHPServer\zend\library\Zend\View\Abstract.php(876): Zend_View_Abstract->_script('index/index.pht...') #1 D:\PHPServer\zend\library\Zend\Controller\Action\Helper\ViewRenderer.php(897): Zend_View_Abstract->render('index/index.pht...') #2 D:\PHPServer\zend\library\Zend\Controller\Action\Helper\ViewRenderer.php(918): Zend_Controller_Action_Helper_ViewRenderer->renderScript('index/index.pht...', NULL) #3 D:\PHPServer\zend\library\Zend\Controller\Action\Helper\ViewRenderer.php(957): Zend_Controller_Action_Helper_ViewRenderer->render() #4 D:\PHPServer\zend\library\Zend\Controller\Action\HelperBroker.php(277): Zend_Controller_Action_Helper_ViewRenderer->postDispatch() #5 D:\PHPServer\zend\library\Zend\Controller\Action.php(523): Zend_Controller_Action_HelperBroker->notifyPostDispatch() #6 D:\PHPServe in D:\PHPServer\zend\library\Zend\View\Abstract.php on line 980
解决3:使用Zend_Controller时,会自动加载一个名为ViewRenderer的插件,它会根据所请求的控制器和动作名来显示一个视图脚本(模板文件)。而使用Smarty时,必须要扩展Zend_View_Abstrat类从而与Smarty类交互。需要床架一个Templater的类,然后在index.php引导文件中告诉Zend_Controller这个类的信息。
或者根据错误提示创建phpweb20/include/views/scripts/index/index.phtml模板文件,使zf输出时能正常使用。
问题4:
Fatal error: Call to a member function fetch() on a non-object in D:\PHPRoot\phpweb20\include\Templater.php on line 58
解决4:这个错误是因为我根据书中代码录入的时候出现了偏差,类的构造器应该使用两个下划线,而录入时只使用了一个,这就造成templater类没有被正常构造,从而出错。
参考:
1. Uncaught exception 'Zend_Controller_Dispatcher_Exception'
http://stackoverflow.com/questions/2130530/uncaught-exception-zend-controller-dispatcher-exception
1. Practical Web 2.0 Applications with PHP – Chapter 2
http://blog.rrosetta.com/2009/10/12/practical-web-2-0-applications-with-php-chapter-2/
分享到:
相关推荐
Flask之旅FlaskWeb开发基于Python的Web应用开发实战学习笔记
这本书《ASP .NET 2.0 网络编程学习笔记》显然是为了帮助读者深入理解ASP.NET 2.0的核心概念和技术。光盘内容可能包含了书中提到的示例代码、练习项目、课件、视频教程或其他辅助学习材料,以增强读者的实践操作能力...
ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记...
《Flask Web开发:基于Python的Web应用开发实战》是一本深入浅出的教程,旨在帮助读者掌握使用Python的Flask框架构建Web应用程序的技术。Flask是一个轻量级的Web服务器网关接口(WSGI)Web应用框架,以其灵活性、...
ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它基于.NET Framework,提供了丰富的功能和工具,使得开发者可以高效地创建动态网站、Web应用程序和服务。此压缩包文件包含的是一个关于ASP.NET 2.0网络编程...
Tensorflow 2.0学习笔记.md
struts2.0学习笔记1 自己动手做的还算可以的 ]struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的
1. **下载使用的Jar包**:在开始Mina2.0的学习之前,你需要从Apache官网或其他可靠的源下载Mina的最新版本库。通常,这包括核心库和其他依赖库,如slf4j用于日志记录。 2. **工程创建配置**:创建一个新的Java项目...
Flask之旅《FlaskWeb开发:基于Python的Web应用开发实战》学习笔记汇总.pdf
除了Web MVC,Spring 2.0还为portlet应用提供了Portlet MVC框架,使得portlet开发也能够遵循MVC设计模式。 ### 10. **国际化支持** Spring 2.0提供了对多语言环境的国际化支持,通过`ResourceBundle`和`...
### OpenWRT与LEDE深入学习笔记v2.0概览 #### 一、基础知识介绍 根据提供的部分内容,本文档主要介绍了如何安装OpenWRT与LEDE系统的编译环境,并详细记录了从GitHub下载源码的过程及后续的操作步骤。下面我们将...
《Flask Web开发:基于Python的Web应用开发实战》是一本深入浅出的教程,旨在帮助读者掌握使用Python和Flask框架构建Web应用程序的技术。Flask是一个轻量级的Web服务器网关接口(WSGI)微框架,它以其灵活性和简单性...
MLDN Java web开发实战笔记pdf,MLDN Java web开发实战笔记pdf,MLDN Java web开发实战笔记pdf,MLDN Java web开发实战笔记pdf
通过这份"JAVA WEB开发实战经典培训【课堂笔记】",读者可以系统地学习和掌握Java Web开发的核心概念和技术,逐步成长为一名合格的Java Web开发者。这份资料详尽地记录了课程的要点,是提升技能、巩固知识的好帮手。
在DWR 2.0M3的学习笔记中,我们可以深入探讨以下几个关键知识点: 1. **DWR的基本原理**:DWR通过JSON或XML格式在浏览器与服务器之间传输数据,实现了AJAX(Asynchronous JavaScript and XML)的功能,但比传统的...
Yii2.0学习笔记完全版 Yii2 Yii2.0 Yii2.0学习 Yii2.0学习笔记
### coco2d-v2.0粒子系统学习笔记详解 #### 粒子系统核心结构与原理 在coco2d-v2.0中,粒子系统是游戏开发中一个非常重要的视觉效果工具,用于模拟诸如火焰、烟雾、水花等自然现象。其核心在于`CCParticleSystem`...
Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)