返回爱好者网站首页
 
商城 博墅 论坛
首 页 | 学 院 | 数 码 | 硬 件 | 装机DIY | 台式机 | 办 公 | 数字家电 | 视频教程 | Flash小游戏 | 桌面壁纸 | 精彩专题 | 活动
  数码数码相机 手机 MP3/MP4 笔记本 GPS 硬件CPU 主板 存储 音频 显示器 显卡 投影机 机箱/电源 外设 术语 学院资讯 系统 软件 安全 网络 办公 设计 程序 问答
装机DIY家用 网吧 办公 娱乐 2000元 4000元 6000元 8000元 DIY技巧 答疑 台式机入门 家用 办公 娱乐 购买技巧 答疑 办公打印机 多功能一体机
学院首页 | 新闻资讯 | 操作系统 | 软件应用 | 创意设计 | 程序开发 | 办公技巧 | 网络应用 | 个人安全 | 素材推荐 | 故障问答
CFan新视界 | 软件专区 | Vista专区 | XP专区 | 站长专区 | 专栏作者 | 精彩专题
当前位置: 首页 学院 资讯 业界资讯

PHP开发中的三个世界

我的Google AdSense赚美元经历 很酷很个性 我的QQ空间留言最最炫  

2007-07-16 作者: 来源:
·抠图——孔雀美女
·胆小者勿进
·教你打造蝶蝎美人
·正在消失的美女
·亲手给MM加幅眼镜
·合成绝美的天上人间
·古堡中的梦幻女孩
·合成密林深处的公主
·墙壁上的剥落女孩
·森林里的蝴蝶公主
  

现在在PHP的框架上面讨论很多,我觉得这里面主要有两个问题:首先盲目崇拜框架,认为采用框架设计才是正统,否则就是不入流、是菜鸟。其次是模仿 Java 的痕迹很重。我并不是说模仿是一件坏事,这里指的是没有经过认真思索,未曾考虑框架或某些设计的原理与目的、承接项目实际情况和 Java 与 PHP 之间的异同而盲目进行的一些“模仿”工作。《PHP 开发中的三个世界》一文就是针对其中“项目的实际情况”来写的一篇文章,着重讨论了在不同开发领域进行 PHP 开发的一些特点。若有不当之处,还请大家指正。

在 PHP 开发领域,不断在讨论讨论 OO ,讨论框架、讨论设计模式、讨论 MVC 模型,讨论这些所带来的种种好处。我不对这些好处进行否认,我只是认为不能盲目跟随某种开发方式,一切方法都是有适用范围的, PHP 开发也不例外。PHP 开发根据受众、服务目标等可以大致可以分为三种不同的开发领域:行业商业软件、通用共享软件和私有专用软件。在这些不同的领域,所主要采用的开发手段也是有所区别的。明确自己产品所在领域并确定下来一种开发方法是很有必要的。需要说明的是这个三个分类严格说来并不是完全并列,泾渭分明,希望这不会给大家带来困扰,领会意思即可。:)

另限于个人的水平及观点的狭隘,有些看法难免有失偏颇甚至偏激,还望方家不吝赐教。

首先来说一下行业商用软件:

这类软件主要面向特定行业或企业的某种应用,项目设计较为复杂。一般为某个开发公司独立承接,几乎没有竞争对手。目前主要以 CRM、CMS、OA 等为代表。这类软件的客户并不关心系统的运行速度有多快,而是关心这个系统能否协调一致完成所需要的功能。由于是面向特定的客户,所以该类软件使用面较为狭窄,若换了另外一家客户通常就不能很好的运行(这里的运行并非指代码的执行,而是指功能的实现),就必须推倒重来。为了减少在开发不同系统当中所作无谓的基础性的重复劳动,我们就必须把这些不同的系统应用中相同的部分给提取出来。这些相同的部分既含有代码技术上的相似性,也包含设计流程上相似性。这是一种将问题进行抽象的过程。我们现有的这些框架、模型就是前人在这些抽象过程的劳动成果。由于几乎每个 Java 项目通常都是较为大型的复杂的应用,所以我们在这些项目中处处可见框架,处处可见模式。你不采用这种开发方式,那就几乎无法前行。PHP 在开发这类应用时是跟 Java 很相似的,唯一不同的就是各自运行环境(主要是指各自的语言解释器,下同)不同。PHP 是一种脚本语言,其支持各种 OO 语言特性的代价很沉重。无论是在空间还是在时间上。所幸对于这类行业商用软件性能是次要的,并且可以自己决定运行环境,因此采用对 OO 特性支持良好的 PHP5 是必然的选择。而且采用一些框架也是必须的。

再来说说通用共享软件:

这个概念从传统桌面型共享软件的概念而来,它的主要特点就是客户(包括潜在的客户)众多,同一类型的软件用户的选择也较多,竞争较为激烈。这类软件目前以论坛社区程序为代表。为了赢得客户,那你必须要做得比一般竞争对手更好。对这类软件来说,竞争主要在一下几个方面:

1、界面

界面是你的客户(包括客户的客户)对你产品的第一印象。因此界面必须要友好。界面不单指外观,还包括可操作性。界面必须要考虑到大多数人的习惯,操作必须要简单、顺手。外观虽然是萝卜白菜,但你也必须留一个选择权(接口)给客户,让客户能非常方便地修改使用。

2、性能

良好的界面当然会给你的产品加分。但在这可以 Ctrl+C 和 Ctrl+V 的世界,再优秀的界面都会被竞争对手瞬间所“学习”。如果说界面是第一印象,那么性能将是致命的考察。因为界面可以更换,但你不能指望客户自己去完善代码。在 PHP 开发中,性能很大程度上是指代码的运行速度,另外一个重要的表现就是对系统资源的损耗程度。每个处理进程的资源占有率越低,系统就越有时间来同时处理更多的请求。这些都是一个细微之处见真章的功夫。希望有机会再和大家详细探讨。但其中我个人有个大致的原则就是避免使用类。PHP中的类真是性能杀手。避免使用类的直接后果就是避免使用框架。有人说这样做会影响开发效率。我承认,是可能会造成一些这样的效果。但我认为,效率分两种:开发效率和运行效率。在行业商用软件中我们这样做是不合适的,但在通用共享软件里面,我们的竞争对手很多。况且客户才不会管你使用什么框架、采用什么模式,客户只关心他们自己的体验。雨和熊掌不可兼得,我们必须要舍弃一点开发效率来保证运行效率。这也是不得已而为之。

3、兼容性

这里的兼容性主要是指代码在不同 PHP 版本之间的兼容性。我们注意到,通常情况下,PHP 版本越新就意味着性能和稳定性就越强。因此我们应尽可能采用新版本所具有函数和语法。但另一方面,由于用户众多,我们无法对每一个用户的运行环境做出假设。并不是每个客户都拥有独立的服务器,很多使用通用共享软件客户都是采用虚拟主机作为运行平台。况且也不是每个虚拟主机提供商都能支持最新版本的 PHP 解释器。兼容性还有一个副作用就是限制了一些开发手段。毫无疑问,在 PHP4 平台想得心应手地使用各种OO特性与技巧是很困难的。这就有一个平衡问题。如何处理这种平衡,我想一些关于 PHP 版本运行情况分布的调查或许可以作为一个有力的参考。

最后是私有专用软件。

私有专用软件是指具有一定研发实力的公司根据自身的业务特点而独立开发的应用系统。专供自己使用,很少作为产品出售。这类系统复杂性并不亚于企业商用型软件,但其对性能的要求更高,几近苛刻。这些系统以 sina 的新闻发布系统、淘宝的物品买卖管理这些为代表(虽然所举的这些并不全都是采用 PHP 开发)。这类系统的特点是通常企业自身也拥有独立的服务器,可以对服务器自身有针对性的配置和优化。若想对付这些应用,必须从企业业务自身特点出发,并根据实际的服务器情况专门进行对 PHP 模块进行优化编译。然后还采用 PHP 扩展甚至是 Zend 扩展来代替脚本中实现一些功能。这就要求 PHP 程序员同时要具备一定的 C 语言知识(虽然理论上其它的语言也可以,但无疑 C 是最安全和方便的)。

上一篇 PHP与其它CGI的比较
10个最漂亮的Linux桌
· 10个最漂亮的Linux桌
· 比尔-盖茨不如阿里巴
· 视频网站首次宣布月入
· Linux是增长速度最快
· 比尔·盖茨:另一条道
Windows 7新一轮截图
· Windows 7新一轮截图
· 360安全卫士要收费?
· XP SP3,VistaSP1截图
· 盖茨人生十大精彩瞬间
· PHPWind7.3版本发布
热点推荐



· 用完电脑一定要洗把脸
· 电脑一族必喝的健康饮料
· 炎热夏天 多吃三类蔬菜
· 卖什么都有,卖脸你见过吗
· 无聊老师的17则爆笑语录
· photoshop快捷键大全
· 《功夫熊猫》经典台词!
· 近距离接触中国击剑队
· 分享网络推广的八种方法
站外资源推荐
无标题文档
绝色空姐汇聚的航线
评论
评论排行
百度女职员反抗保安强奸被杀 无人理赔(图)
各国政府为四川地震捐款明细
多户合用ADSL违法?中国电信下手封杀真相调查
百度帖吧史上最大爆吧事件进入白热化
关于爱好者论坛更换服务器的通知
珊瑚虫就流氓软件的言论声明!
QQ黑市揭密:被盗到出售过程详解
河南大学路由器客户遭电信封杀
奇虎联手卡巴斯基推出个人免费杀毒软件
政法大学研究员:珊瑚版QQ作者不值得同情

笔名

匿名发表

验证码:

查看评论
* 评论只代表网友个人观点,与电脑爱好者网站无关,不代表电脑爱好者网站也同意此观点。
 
热点专题
 
· 用DW打造自己的Blog
· 拼音输入法王者之战
· 狂人马云与阿里巴巴
· 开个网店做老板
· Web服务器架设攻略
· 三大浏览器应用技巧
· 建站四步曲
· 月入上万的程序员们
· 如何推广新网站及赚钱
· 手机铃声制作攻略
· 系统安装步步通
· 新手学电脑
热点文章
 
傲游使用技巧 地址栏图标的妙用 一个校园网站的成长历程
让你操作Windows于弹指之间 利用Google地图驾车环游世界
看看在线操作系统什么样

歌曲下载快到飚 搜狗音乐盒大体验

QQ专区
 
站长专区
 
·做ADSENSE的英文站月薪几千
·再谈:什么样的网站能赚钱
·江礼坤:手把手教你策划网站
·教育类网站如何赚钱
·十招让内容页流量翻番
· 个人网站建设到底怎样赚钱
·月赚三四千元 网上开店秘笈
·站长如何有效推广网站
·一个校园网站的成长历程
·如何防止自己的站被人采集
论坛博墅
 
·玩转Vista加速与优化
·十招学会软件的破解
·Ubuntu 安装的一小点心得
·手动去除迅雷广告
·揭秘黑客真身
·QQ秘籍让你成为QQ高手
·硬件检测软件逐个看
·劲舞团不能倒闭的八大理由
·2月5日 单机游戏下载合集
·国内网页设计网站大全
无标题文档

爱好者网站版权所有 未经授权禁止复制或建立镜像
Copyright(C) cfan.com.cn,All rights reserved
京ICP证010182号