PHP调研简单报告
2012-02-28版
PHP调研…………………………………………………………………………………………………………. 3
相关资源:………………………………………………………………………………………………… 3
开源开发框架:………………………………………………………………………………………….. 3
Zend Framework………………………………………………………………………………….. 3
Yii………………………………………………………………………………………………………. 4
CakePHP……………………………………………………………………………………………. 5
SpeedPHP(国产)……………………………………………………………………………… 6
Kumbia……………………………………………………………………………………………….. 6
商城框架:………………………………………………………………………………………………… 6
Magento……………………………………………………………………………………………… 6
PrestaShop…………………………………………………………………………………………. 7
TomatoCart…………………………………………………………………………………………. 7
可用工具……………………………………………………………………………………………………. 8
EclipsePHP Studio 3.0(配合Wamp使用)……………………………………………… 8
Zend Studio………………………………………………………………………………………… 8
WampServer(个人觉得比较好用)………………………………………………………… 9
附录………………………………………………………………………………………………………….. 9
Yii MVC设计模式…………………………………………………………………………………. 9
CakePHP的特性………………………………………………………………………………… 12
PHP调研
相关资源:
PHP 电子商务/商城 – 开源软件库 – 开源中国社区 :
http://www.oschina.net/project/tag/68/ecommerce?lang=22&os=0&sort=view
PHP100:
w3school 在线教程:
http://www.w3school.com.cn/php/
PHP框架:
http://baike.baidu.com/view/1851982.html
开源开发框架:
Zend Framework
Zend Framework (简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。
官方介绍如下:
ZF中的组件可以独立使用,但如果将它们组合起来,就形成了一个强大而可扩展的web开发框架。 ZF 提供了强壮而高效的 MVC 实现,易于使用的数据库摘要和实现 HTML 表单解析、校验和过滤的表单组件,这样开发者可以通过这些易用的、面向对象的接口联合所有这些操作。其它组件如 Zend_Auth 和 Zend_Acl 通过通用 的证书(credential)存储提供用户认证和授权。还有其它实现的客户库来简化访问最流行的可用的 web 服务。 不论你的程序需要什么,你都可能从 Zend Framework 中找到经过全面和严格测试的组件来使用,可以极为有效地减少开发时间。
【目前官网更新版本到 ZendFramework-2.0.0beta2,不过没有中文文档。目前Programmer’s Reference Guide更新到ZendFramework-1.11.11】
ZendFramework-1.11.11中文版:http://framework.zend.com/docs/translations
ZendFramework-1.11.11英文版:http://framework.zend.com/manual/en/
Yii
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
Yii 是一个通用的 Web 编程框架,可以用于开发几乎所有的 Web 应用。由于它是轻量级的且具备了成熟的缓存解决方案,它特别适用于开发高流量的应用,例如门户,论坛,内容管理系 统(CMS),电子商务系统等等。
Yii Framework 中文社区:http://www.yiichina.org/
Yii 中文文档:http://www.yiichina.org/guide
官网:http://www.yiiframework.com/
Yii MVC设计模式:见附录
CakePHP
CakePHP 无论对于初学者还是职业PHP开发者都是很好的选择。它基于与Ruby on Rails同样的原则而设计,它十分注重快速开发——这使得它成为一个非常好的用于RAD的开发框架。它快速增长的支持系统,简洁性和可测量性使得CakePHP成为今天可用的最受欢迎的PHP开发框架之一。
官方网站:http://cakephp.org
中文手册:http://book.cakephp.org/cn
英文手册:http://book.cakephp.org/2.0/en/
下载地址:http://github.com/cakephp/cakephp/downloads
CakePHP的特性:见附录
SpeedPHP(国产)
SpeedPHP是一款全功能的国产PHP应用框架系统。她以“快速开发、快速学习、快速运行”为理念,在提高团队开发效率、容易学习及使用、轻量级架构以增加执行速度等方面有着突出的表现。SpeedPHP框架是从实际运行的商业系统中取其精华而成的,在稳定性和运行速度上都非常出色;同时有着清晰的架构,更有利于提高团队开发效率,教程众多,入门容易,号称最适合初学者的PHP框架,快速带你进入PHP高手的行列。
Kumbia
kumbia是一款流行与全球的PHP FRAMEWORK,由于是西班牙人写的.所以缺少中文文档支持,国内使用的人比较少。但KUMBIA代码写的非常优雅,包分的很整齐。
商城框架:
Magento
Magento (麦进斗) 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。
DEMO:http://demo.magentocommerce.com/
官网:http://www.magentocommerce.com/
PrestaShop
PrestaShop是一款针对web2.0设计的全功能、跨平台的免费开源电子商务解决方案,自08年1.0版本发布,短短两年时间,发展迅速,全球已超过四万家网店采用Prestashop进行布署。Prestashop基于Smarty引擎编程设计,模块化设计,扩展性强,能轻易实现多种语言,多种货币浏览交易,支持Paypal等几乎所有的支付手段,是外贸网站建站的佳选。Prestashop是目前为止,操作最简单,最人性化,用户体验最佳的电子商务解决方案之一。
DEMO:http://demo-store.prestashop.com/en/
TomatoCart
Tomato Cart 是一个用PHP开发的开源电子商务软件,源自osCommerce,但拥有更好的用户体验。它提供一个全新的前台和后台界面,后台采用ExtJS开发。
DEMO:目前处于崩溃中…
可用工具
资料:http://www.php100.com/html/download/tools/
EclipsePHP Studio 3.0(配合Wamp使用)
EclipsePHP Studio 简称 “EPP ”,EPP 使用的 Eclipse 核心编译而来。针对PHP开发者提供的一个优秀的大型IDE开发软件。并且集成了JDK和简体中文系统,免除处了安装配置的麻烦,一次安装即可使用无需配置。此编译器为PHP编译器,专门针对辅助PHP代码的开发和调试,集成了代码高亮,函数跟踪,时时纠错等功能。同时还增加了协作开发版本服务器功能: SVN , CVS 。
官网和下载:http://epp.php100.com/#about
Zend Studio
Zend Studio是专业开发人员在使用PHP整个开发周期中唯一的集成开发环境(ZDE),它包括了PHP所有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库工具,Zend Studio加速开发周期,并简化复杂的应用方案。
官网和下载:http://www.zend.com/en/products/studio/
WampServer(个人觉得比较好用)
WampServer是Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。再也不用到处询问php的安装问题了,wampserver一切都搞定了。这个软件是完全免费的,可以在其官方网站下载到最新的版本。
下载:http://www.wampserver.com/#download-wrapper
附录
Yii MVC设计模式
Yii 使用了 Web 开发中广泛采用的模型-视图-控制器(MVC)设计模式。 MVC的目标是将业务逻辑从用户界面的考虑中分离,这样开发者就可以更容易地改变每一部分而不会影响其他。在 MVC中,模型代表信息(数据)和业务规则;视图包含了用户界面元素,例如文本,表单等; 控制器则管理模型和视图中的通信。
除了 MVC, Yii 还引入了一个前端控制器,叫做 应用,它表示请求处理的执行上下文。应用处理用户的请求并将其分派到一个合适的控制器以继续处理。
下面的示意图展示了 Yii 应用的静态结构:
Static structure of Yii application
一个典型的工作流
下图展示了一个 Yii 应用在处理用户请求时典型的工作流。
A typical workflow of Yii application
1 用户发出了访问 URL http://www.example.com/index.php?r=post/show&id=1 的请求, Web 服务器通过执行入口脚本 index.php 处理此请求。
2 入口脚本创建了一个 应用 实例并执行。
3 应用从一个叫做 request 的 应用组件 中获得了用户请求的详细信息。
4 应用在一个名叫 urlManager 的应用组件的帮助下,决定请求的 控制器 和 动作 。在这个例子中,控制器是 post,它代表PostController 类; 动作是 show ,其实际含义由控制器决定。
5 应用创建了一个所请求控制器的实例以进一步处理用户请求。控制器决定了动作 show 指向控制器类中的一个名为actionShow 的方法。然后它创建并持行了与动作关联的过滤器(例如访问控制,基准测试)。如果过滤器允许,动作将被执行。
6 动作从数据库中读取一个 ID 为 1 的 Post 模型。
7 动作通过 Post 模型渲染一个名为 show 的 视图。
8 视图读取并显示 Post 模型的属性。
9 视图执行一些 小物件。
10 视图的渲染结果被插入一个 布局。
11 动作完成视图渲染并将其呈现给用户。
CakePHP的特性
CakePHP有多个特点,这些特点让CakePHP成为了快速开发框架中的佼佼者之一:
1.拥有既友好又活跃的社区
2.灵活的MIT许可证
3.兼容PHP4和PHP5
4.数据库交互运用了CRUD(create, read, update and delete),即增查改删。
5.应用程序Scaffolding(脚手架)
6.代码自动产生(代码产生器)
7.MVC体系架构
8.清晰,干净的高度自定义的URLs和路由请求分发器(Request dispatcher)
9.内置验证机制(validation)
10.快速灵活的模板机制(PHP 语法,利用Helpers)
11.拥有AJAX, JavaScript, HTML表单和更多的视图助手工具
12.邮件、Cookie、安全、会话(Session),和请求处理的组件
13.灵活的ACL访问控制机制
14.数据的清理(Data Sanitization)
15.灵活的视图缓存(Flexible View Caching)
16.可在任何子目录里工作,很少甚至不需要更改任何 Apache相关配置
17.本地化