在ZF1.0RC2基础上做了个数据库驱动程序,希望对ZF初学者有帮助。
本人联系方式:
蒲公英
QQ: 790304
Mail:
liangj@fuchart.com
先介绍几个ZF配套站点:
ZF论坛:
http://www.zfforums.com/
ZF指南:
http://www.zftutorials.com 现在的ZF例子还比较少
ZF网址统计:
http://www.zflinks.com/
ZF聊天室:
http://www.zftalk.com/ 只要你安装个XChat就可以与世界各地的ZF爱好者交流
第一. 软件版本
ZF: Zend Framework 1.0.0 Release Candidate 2 (
http://framework.zend.com/download)
SMARTY: Smarty 2.6.18 (
http://smarty.php.net/download.php)
第二. 参考资料
1. 《与Zend framework一起成长》系列,原创网站
www.akrabat.com
getting-started-with-the-zend-framework_140.pdf
getting-started-with-zend-auth_105.pdf
2. Zend_Acl / Zend_Auth example scenario 我能找到的网上仅有的几个谈及Zend_Auth和Zend_Acl比较好的一个
http://devzone.zend.com/node/view/id/1665
第三. 上传例子说明
1. 实现功能
1). ZF结合了Smarty
2). Zend_Acl和Zend_Auth实现了三级权限管理
guest角色: 只能浏览数据列表;
member角色: 浏览列表,添加数据,对自己以前添加的数据进行修改删除;
admin角色: 能进行所有超作。
3). Zend_Db操作mysql数据库
2. Directory Layout
zftest---- API
|--- app---- config
| |---- controllers
| |---- models
| |---- views
|--- libs---- Custom
| |----- Smarty
| |----- Zend
|--- templates_c
|--- www
|--- zftest.sql
【注】
API: 此文件夹为自己用PhpDocumentor-1.3.2生成的自定义类文档,由于本人英文太差希望不会误导各位phper;
app: 这个就不说了;
libs/Custom: 这里定义了几个基础类;
libs/Smarty,libs/Zend:这俩个就不用说了吧,为了减少上传容量我的上传包删除了他们,需要自己加上;
templates_c:为Smarty的缓存目录;
www:这里面放置了index.php;
zftest.sql: 为用到的sql文件
3. 本人也是初学者,例子中难免有错误或不当的地方希望朋友们指正。此例子中ZF与Smarty结合部分应该还可以,在用
Zend_Auth和Zend_Acl实现认证和权限管理时还需要有很多改进的地方,如果有更好的方法别忘了告诉我 :)
第四. 安装说明
1. 大家别忘了配置apache的mod_rewrite模块打开;
2. 把AllowOverride都改成all。
【
6月25日更新】
1. 由ZF1.0RC2转成ZF1.0RC3(相应修改了Custom_View_Smarty类的setBasePath和addBasePath方法)
2. 修改了控制器IndexController的第106,143免在恶意操作不存在的记录时产生Fatal error: Call to a member function toArray() on a non-object 错误
3. 更新了API内文档
【
7月2日更新】
此次在ZF1.0.0基础上检测此应用程序运行正常,没进行任何修改
【
7月13日更新】
1. 更改了页面;
2. 修改了一些bug;
3. 设置了Smarty的缓存目录,例子中没有应用这个缓存功能;
4. Smarty的缓存目录(_cache)和编译目录(_templates_c)改放到了每个模块下,原因之一是速度可以快点另外如果整个应用
程序用一个编译目录那么当不同Module中存在相同文件名的模版文件时会有问题,如果phper有好的处理方法别忘了通知我一下,呵呵;
5. 引入了Module机制,现在app里存在default和admin俩个Module,admin模块用了管理member角色用户;
6. 根据第二点相应的ACL当然要相应变化,现在ACL也要涉及Module了;
7. 更新了API;
8. 数据库稍有变化;
【
7月17日更新】
修改了ACL的处理方法
此次更新说明:
页面中虽然有翻页按钮但功能还没有时间实现,将在以后更新;
【
11月9日更新】
在default模块中增加了分页功能
[注]admin模块未追加
[
本帖最后由 蒲公英 于 2008-1-22 13:24 编辑 ]