简介
作者:杰费里·温西特[美]
译者:Syang, Evoself, Charles, BoyLee
这本书通过使用测试驱动(TDD)的方法,采用Yii框架一步一步进行一个真实世界的Web应用程序开发。从最初的概念,到生产部署。如果你想快速成为Yii的大师,了解它吧。
前言
Yii是一个高性能,基于组件的php应用开发框架。它有助于你轻松建立大规模复杂应用程序。它可以使你在web编程中,最大化代码的可重用性,并加快开发过程。它允许开发者在框架已经准备的好的代码基础上进行编码。当今常见的基于Web的应用程序基本上避免让你重写核心功能,允许你专注于业务规则和逻辑来建立独特的应用程序。
这本书以一个非常实用的方法来学习Yii框架。整个章节我们介绍了采用测试优先的方法来建立一个实用的任务管理及问题跟踪系统名叫TrackStar。所有的代码都会提供。读者应该能够快速运行我们所提供的例子,而且还会更加深入地讨论和解释,让你充分明白程序幕后发生了什么。
这本书都覆盖了什么内容
第一章——认识Yii,介绍了Yii是一个高级的开发框架,我们学习了使用应用程序开发框架的重要性和实用性。Yii利用这些特性使得它非常强大和有用。
第二章——入门,通过一个简单的Hello World的应用程序介绍如何使用Yii框架。
第三章——TrackStar应用程序,介绍了一个任务管理和问题跟踪应用程,整书的其余部分都将围绕TrackStar的建立。本章还介绍了测试驱动开发(TDD)方法。
第四章——迭代1:创建初始的TrackStar应用程序,演示了Yii应用程序如何创建一个新数据库驱动。
第五章——迭代2:项目的CRUD,介绍Yii的自动代码生成功能。以及在我们的TrackStar应用程序中建立Create(创建) Read(读取) Update(更新) Delete(删除)。
第六章——迭代3:添加任务,向我们介绍了Yii中的关联的Active Record和控制器类中的过滤器,以及在TrackStar加入问题(issues)管理。
第七章——迭代4:用户管理和权限认证,本章涵盖了用户管理和身份验证。
第八章——迭代5:用户访问控制 本章涵盖了用户权限认证。介绍了Yii的简单访问控制和基于角色的访问控制。
第九章——迭代6:添加用户评论 用户访问控制,更深入的介绍了AR关系以及使用portlet结构让内容横跨多个页面。
第十章——迭代7:添加RSS Web Feed,演示了在Yii应用中如何轻松集成Zend框架以及使用Zend框架的Web Feed类库创建简单的RSS Feed。
第十一章:迭代8:美化-设计,布局,主题,国际化(i18N),深入研究和介绍Yii框架的布局视图,主题以及国际化本地化。
第十二章:迭代9:添加管理模块,介绍了在Yii框架中的模块概念以及如何添加一个管理模块到应用程序。
第十三章:迭代10: 上线/投产准备,本章介绍了错误处理,日志记录,缓存以及安全方面,并准备为TrackStar投放到生产环境。
阅读本书你需要准备什么?
为了能跟随本书一起建立TrackStar应用程序,你将需要php5、一台可以执行php5的web服务器,和一台数据库服务器。本章提供的代码已经在Apache2和MySQL5环境上通过测试。你当然可以使用兼容php5的其他Web服务器和不同的数据库。虽然我们试图程序独立于Web服务器或数据库服务器,但我们不能保证100%正确。如果你使用的是不同的服务器,可能需要略作调整。
本书为谁编写
如果你是一个具有而向对象编程知识的php程序员,并希望能迅速开发现代的,先进的网络应用程序,那么这本是正是为你所写。在学习这本书之前不必了解Yii的知识。
约定
在这本书中,你会发现文字样式的不同来区分不同的信息类型。下面的一些例了解释了它们的函义。
下面的代码单词显示了:“你可以输入help查看shell为你提供的命令列表”
一个代码块的设置如下:
<h1>Hello, World!</h1> <h3><?php echo $time; ?></h3> <p><?php echo CHtml::link("Goodbye",array('message/goodbye')); ?></p>
当我们想请你注意一个代块的特定部分时,会将关相行设置为粗体显示:(Web版 将添加 “//这行”字样代表粗体)
<h1>Hello, World!</h1> <h3><?php echo $time; ?></h3> <p><?php echo CHtml::link("Goodbye",array('message/goodbye')); //这行?></p>
任何命令行的输入输出为如下格式:
%cd /WebRoot/demo/protected/tests %phpunit unit/MessageTest.php
新的说明及重要的词将粗体显示。例如在菜单或对话框,会出现这样的文字:“点击关于链接提供一个单的静态页面。”
警告或重要说明将类似这样。
提示或技巧将类似这样。
读者反馈
我们非常欢迎读者的反馈。让我们知道你对这本书的感觉,喜欢或不喜欢。读者的反馈对我们产品的发展非常重要,一定要提出来啊。
一般的反馈只需发送邮件到feedback@packtpub.com并注明本书名称。
如果你有一本书需要或希望我们出版,请在www.packtpub.com上发布一个SUGGEST A TITLE的表单,或发送邮件到suggest@packtpub.com。
如果你有一个主题或你的专长,你有兴趣撰写或贡献自己的一本书,请访问www.packtpub.com/authors进行了解。
客户支持
现在,如果你想拥有一本Packt的书,我们有许多渠道最大限度的帮助你购买到商品。
下载本书的例子代码请访问http://www.packtpub.com/files/code/9584_Code.zip。下载文件中包含了使用说明。
勘误
虽然我们已采取一切谨慎措施来确保我们的内容的准确性,但错误再所难免。如果您发现本图书的一个错误,也许是文字或错误的代码,如果您能向我们报告,我们将不胜感激。通过这样做,你可以拯救其他读者的挫折,并帮助我们提高这本书的后续版本。如果您发现任何勘误,请访问http://www.packtpub.com/support选择本书,点击让我们知道(let us know)链接,并输入详细的勘误信息。一但你的勘误信息得到了验证和接受,将添加到现有勘误表中,你能通过http://www.packtpub.com/support查看已有勘误信息。
盗版
在互联网上版权是所有媒体一直存在的问题。在Packt,我们对我们的版权与许可的保护非常重视。如果你发现我们的作品遇到以任何形式的任何非法的复制品,请提供地址或站点名称,以便我们能够作出补救。
请将涉嫌盗版材料的链接发送到copyright@packtpub.com。
我们非常感谢你能保护作者和给你带来有价值的内容。
问题
如果你有本书任务方面的问题,你可以通过questions@packtpub.com与我们联系,我们将尽最大努力进行解决。