版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP开发的企业级应用与PHP SOAP扩展六年开发经验者谈PHP对于 PHP,很多朋友抱怨发展问题,能力问题。还有自己以后的发展及薪水问题。还有一些口吻就是PHP 不行,不适合大型架构等等。快下班了,作为一个开发PHP 已经 6 年多了老鸟,在这里随意说上几句。希望能对那些刚刚入门的PHPER 有些帮助。首先任何语言的能力关键在于自己的技术能力。否则给你一架波音飞机,你不会开,那它都不如自行车跑的快。作为PHP 程序员应该从思想上认识到这是值得骄傲的事情。因为你已经进入了FREE 的领域。从技术角度讲做 JAVA 程序员也是骄傲的事情; 而作 ASP 呢。如果也能很好的开发 COM 组件也是
2、很强的程序员。其实并不在于语言,而在于人。PHP 是门槛低,但是有几个人摸到了它的天花板呢?学习 PHP 基本功很重要。最好有数据结构的学习经历。对于 1,2 年的新手来说。在 2 年必须完全掌握 smarty+pear+adodb+xml+ajax 工具类必须熟练掌握 zend studio 的开发。 数据库必须熟练掌握 mysql & sqlserver 操作系统必须对 liunx 有一定的了解。并能配置环境。 对 apache也应该买本管理员手册好好看看。以上为 2 年,必须掌握的容第三年,如果没有 .NET 或者 JAVA 类的开发经验,请需要补补了。因为 .NET 和 JAV
3、A 的思想比 PHP 要成熟的多,同样学习 SQLSERVER也是为了提高 mysql 的使用水平。数据库可不是简单的建表查询就可以了。所以我建义第三年的时候, 多补充思想及数据库方面的容。 但是这并不意味前 2 年就不看。我的意思是第三年更趋于此。 因为在这个时候,你对 PHP 的很多基础部分已经了然于胸了,然后需要一个整体的提高,而不是很片面的提升。这个时候,你就要考虑架构问题了。第四年,当你部署一个大型项目的是否。 负载及文件分布还有安全,等等部署方面的问题接踵而来。 这个时候你要去努力理解什么是 file server 集群,什么是 web server集群 什么是 database
4、集群等等。然后这些对你编码又有什么提高的要求等等。第五年。尝试努力学习C 及 C+这个时候你将对栈还有指针还有存有一个更深刻的了解。PHP 企业级应用的几个应用CMS(容管理系统 )和 BBS(论坛)中采用PHP 开发的软件最多。企业级应用的CMS 系统如CMSWare, BBS 如 Discuz! 和PHPWind,CRM(客户资源管理)如C3CRM。 CMSware 容管理系统号称是最自由的应用构建平台,能生成静态页面,其通行证系统让架构者可以自由的扩展的会员应用模式,全面整合上各式各样的应用在现在的 WEB 服务开发语言阵营中, ASP、PHP、JSP和 ASP.Net 最为常见。 AS
5、P 安全性较差有目共睹,不能跨平台; ASP.Net、JSP实施难度大,成本高,多在大型项目中使用,且 ASP.Net 也不能跨平台; PHP 安全性好,可伸缩性强,支持多种数据库,去年前推出的5.0版本,更是大大缩短了项目开发周期,关键是Linux+Apache+PHP+MySQL 这种组合,成本很低,适合中小企业。在国,ChinaRen 社区首次在商业化项目中使用PHP 这种开发语言。短短几年,国PHP应用迅速蔓延开来,基于PHP语言的各种WEB应用软件数量日渐增多。CMS(容管理系统 )和 BBS(论坛)中采用 PHP 开发的软件最多。企业级应用的CMS 系统如 CMSWare(.cms
6、ware.),BBS 如 Discuz!和 PHPWind,CRM (客户资源管理)如 C3CRM (.c3crm.)。CMSware 容管理系统号称是最自由的应用构建平台,能生成静态页面 ,其通行证系统让架构者可以自由的扩展的会员应用模式,全面整合上各式各样的应用。提起 Discuz!和 PHPWind,可谓大名鼎鼎,站长们皆知。 Discuz! 2006 年元旦宣布 Discuz! 论坛免费,在沉默了一段时间之后, PHPWind跟进,宣布论坛免费。C3CRM 是一款基于 SugarCRM 开发的适合中国中小企业应用的CRM 软件,开源、免费。其功能和综合性能之高,甚至超过了一些高价的 C
7、RM 系统。近日, C3CRM 还被选为 SugarForge 2006年 5 月最佳项目。整合、双赢CMS 软 件开发企业倾向于给用户提供一个整体解决方案,给用户提供类似一条龙的应用相关产品及配套服务,而且这种服务要根据用户需求长期保持着更新与变化。用 户的需求千变万化,除了容管理之外,论坛社区建设、 商城系统和紧跟其后的客户资源管理等等不是一个软件开发企业在短时间之就能开发出来的,这还没有把 同类型软件的竞争问题考虑进去。在这种情况下, 除了加大开发力度, 整体提高自己产品的性能之外,整合、与合作伙伴双赢成为中小软件开发企业自然而然的选择。与其相适应,上述的几家软件开发 商从去年开始,陆续
8、改变了各自的市场策略和服务策略, 一方面在各自的领域和市场定位、 目标上锐意开拓,另一方面,大家进行横向联合,从技术上和市场营销上 进行合作。进入 2006 年,这种合作活动更为明显。ShopEx 在网上商店系统领域一枝独秀,在整合与合作中也表现得也最为活跃。 除了捆绑数十个支付网关之外,在去年,就与 Discuz!论坛整合,二者无缝。2006 年伊始,与 CMS 和 CRM 等相关厂商进行合作也列到日程上来。据悉, CMSWare 将 在现有产品的基础上大量集中改造易用性,推出一款新产品,其面对的对象是几乎没有技术能力而且灵活自定义要求不很高的的中小企业或个人用户。另外在今年晚 些时候,将发
9、布一款动态应用开发平台产品, 目前名字尚未定下来, 而这个产品和服务基本上是提供给对的互动性有要求的专业行业用户或综合信息的 社区性用户。CMSWare 也将在近期发布针对社区或专业站点的企业级 BLOG 。CMSWare 产品负责人对记者表示, CMSWare 的通行证技术将全面支持 VBB 、DZ、ShopEx 这些成熟的产品。在 ShopEx 宣布免费两天前的记者吹风会上,记者也看到了C3CRM 项目负责人。服务是软件真正的价值回到开头的话题,尽管有分析人士认为, ShopEx 免费是为了提高其市场占有率, 但是一个企业, 特别是软件企业,如果没有 “家底 ”,是开不起玩笑的。ShopE
10、x 老总裴大鹏对记者说, ShopEx 今后将走技术服务和增值服务的路线,对愿意购买技术服务的用户按年收取服务费。 做出这个决定,是经过深思熟虑的。在国中同类软件, ShopEx 几乎没有真正意义上的竞争对手,尽管产品不能满足 100%用户的需求,但是 ShopEx 的功能、用户界面已经成了同类软件模仿的对象、事实上的标杆。因为 ShopEx 的用户都是在这个平台上进行商业贸易,所以,多数用户赞成免费,反对开源:商业用途软件的使用者更重视安全性,加上经过编译的代码运行效率更高。能让商业用户真正放心的不是软件本身,而是开发软件的企业。没有一个团队长期、 稳定地提供技术服务的软件很快就会退出市场和
11、应用,被同类软件所替代。软件已经从销售许可证的世代进入出售服务的世代。 所以,服务是软件真正的价值。实际上,用户购买软件,真正购买的是软件背后的服务。软件免费,不是说服务免费,国用户软件消费心理尚未成熟,在国外,这种模式早就深入人心。如果说因为存在竞争, Discuz!等论坛免费,在国WEB 软件中是个别现象,但是ShopEx 宣布免费,表明国这个行业已经开始一场变革, WEB 应用软件市场逐渐成熟起来,以此为标志,势必引爆整个软件开发行业。从做项目开始积累资金,再做产品,以项目养产品,产品成熟之后,市场回报要比单做项目更高。国的PHP 软件开发企业的发展基本上走的是这条路线。随着产品的成熟,
12、培养用户群,当用户群这个基数越多,想象的空间也越大。PHP SOAP 扩展SOAP 的全 称为简单 对象访问 协议(Simple Object AccessProtocol)。它是一种基于 XML 的,可扩展的通信协议。 SOAP 提供了一种标准,使得运行在不同平台上并使用不同的编程语言编写的应用程序可以互相进行通信。 SOAP 的可扩展性和平台无关性使得它被广泛用作 Web 服务的通信协议。由于 Java 语言提供了对SOAP 的良好支持,通常基于Web 服务的应用程序使用Java 语言编写。对于广大的PHP 程序员来说,可能会有一点小小的不满PHP 的较早版本根本没有对SOAP 的直接支持
13、,只能通过PEAR(the PHP Extension and ApplicationRepository) 中的SOAP 库或者第三方产品NuSOAP 来开发Web服务。不过最近的版本已经改变了这一状况。自PHP 5开始新增了置的 SOAP 扩展 (ext/soap),从此我们不需要下载额外的扩展库或是代码包来开发基于SOAP 的应用程序了。接下来让我们来看看SOAP 扩展中都有哪些容。PHP 5 中的 SOAP 扩展 (ext/soap)PHP 5 最早发布的版本 5.0.0 中就已经提供了 SOAP 扩展,不过当时的 PHP 手册中声明这个扩展是试验性 (experimental) 的。
14、实际上当时的版本已经实现了比较完善的功能,也没有必要为此而担心。目前这个扩展还在不断地完善,早期版本中的大部分bug 都已经得到了修正,目前最新的版本(5.3.0) 中已经提供了比较完整的对SOAP 的支持,而且我们有理由相信,以后的版本还会更好。SOAP 扩展库结构ext/soap 中包括六个预定义的类,通过这些类,我们可以创建Web 服务端 (SoapServer 类 ) ,客户端 (SoapClient 类 ) ,处理 SOAP 请求和应答 (SoapHeader, SoapParam, SoapVar类 ),诊断错误 (SoapFault 类 )。这些类之间的联系如图 1 所示:图 1
15、. SOAP 扩展的结构SOAP 服务类 SoapServerSoapServer 类用来开发Web 服务端应用程序。这个类中包含创建,设置和操纵Web 服务的函数。有两种方式可以向Web 服务中添加操作(Operation)。一种方式是直接添加已定义的函数,另一种方式是添加已定义好的类,从而将该类的公有成员函数添加到Web 服务中。另一个需要说明的特性是,PHP 支持两种Web 服务的模式:WSDL 模式和non-WSDL 模式,为了便于理解,我们首先从Web服务的两种实现模式开始说起。PHP 中 Web 服务的两种模式: WSDL模式和 non-WSDL模式对 于Web 服务来说,主要有两
16、种实现模式 契约先行(Contract First)模式和代码先行(Code Fist) 模式。契约先行模式的实现中, 首要工作是定义针对这个Web服务的借口的WSDL(Web Services Description Language,Web 服务描述语言 ) 文件。 WSDL 文件中描述了 Web 服务的位置,可提供的操作集,以及其他一些属性。 WSDL 文件也就是 Web 服务的 “契约 ”。“契约”订立之后,再据此进行服务器端和客户端的应用程序开发。这种模式对应上节所说的 WSDL 模式。我们后文中介绍的例子就是使用这一模式实现的。与契约先行模式不同, 代码先行模式中,第一步工作是实现
17、 Web 服务端,然后根据服务端的实现, 用某种方法(自动生成或手工编写)生成 WSDL 文件。但是由于 PHP 本身并没有提供从 Web 服务实现代码中生成 WSDL 文件的方法,因此就要以 non-WSDL 模式连接服务端,即不通过 WSDL 文件创建 SoapServer 和 SoapClient 示例,而是直接向构造函数传递必要的参数。当然,代码先行模式也有其他的解决方法,一些集成的 PHP 开发工具(如 Zend Studio)就提供了根据 Web 服务实现代码生成 WSDL 文件的功能。在 ShopEx 宣布免费两天前的记者吹风会上,记者也看到了C3CRM 项目负责人。SOAP 客户端类SoapClientSOAP 客户端类SoapClient 用于开发Web 服务的客户端程序。可用的成员函数主要有创建客户端实例,调用可用操作,查询可用操作和数据类型等。除此之外还包括了可用于程序调试的函数获取上次请求和应答的SOAP 数据。SOAP 参数类 SoapHeader, SoapParam, SoapVarSoapParam 和 SoapVar 主要用来封装用于放入 SOAP 请求中的数据,他们主要在 non-WSDL 模式下使用。事实上,在 WSDL 模式下,SOAP 请求的参数可以通过数组方式包装, SOAP 扩展会根据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石料石灰石石料挖掘行业深度研究报告
- 螺杆流量计行业深度研究报告
- 中国环行锻件项目投资可行性研究报告
- 大班主题行进活动方案
- 特种陶瓷粉料行业深度研究报告
- 石墨电子模具行业深度研究报告
- 中国总线箱体项目投资可行性研究报告
- 中国彩色长尾夹项目投资可行性研究报告
- 中国其它金属机械设备项目投资可行性研究报告
- 银钨触头材料行业深度研究报告
- 电表更名协议书
- 入团团员考试试题及答案
- 2024年佛山市顺德区公办中小学招聘教师真题
- 老年综合评估技术应用中国专家共识解读
- 营口职业技术学院2025年单独招生考试教育类题库(中职生适用)
- 【中国人寿财险湖南省分公司全面预算管理问题原因分析案例9800字】
- 2025年四川省绵阳市涪城区八年级中考一模生物试题(原卷版+解析版)
- 舌下腺囊肿护理
- 2025年古诗《游子吟》标准课件
- 福格行为模型(中文版)
- 头皮肿物切除术后护理查房
评论
0/150
提交评论