- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
×
Lamp架构下的web开发 - Presentation Transcript
LAMP架构下的Web开发概念、流程及优化策略
开发阶段常规步骤
架构设计浏览器版本,系统环境等NginxApacheIIS….Jquery,EXT….MysqlMSSQLORACLEPhpPythonRubyjavaMemcacheAPC共享内存…….按钮菜单…..布局层次CSS结构前端细节约定图片分离小文件存放分布式存放
接口约定约定请求方式(普通HTTP请求,XMLHTTP请求,SOAP请求,phprpc请求)、请求类型(POST,GET,HEADER)、请求地址、请求参数。(前端请求四要素,文档中体现,程序中实现。)标识约定为确保前后端并行开发,减少开发的时间周期,需要在开发前就做好标识约定,通过文档描述清楚前端模板变量和后端程序变量之间的约定关系,以及后端返回各种状态值的含义。建议的最佳应用是:后端不对用户视图负责,只管输出状态代码。呈现给用户的视图由前端负责。对接约定
Nginx优点:原生支持反向代理,带有简单的负载均衡及容错机制。速度最快。(10%-1000%),占用资源很少。缺点:文档较少,手工配置,只能以fast-cgi方式运行php.Apache优点:文档丰富,稳定(!?),应用环境多。缺点:占用资源较多,高压力下表现性能不如nginx或lighttpd,手工配置。IIS优点:文档丰富,win平台下安装简单配置方便缺点:不支持跨平台,性能低下。各类web服务器优缺点比较
常见web系统组织图文件访问服务器Images,other….反向代理静态缓存服务器数据库或缓存服务集群Web应用服务器数据代理中心
语言弱类型脚本运行,生命周期短。面向对象与面向过程并存。弱效率、重流程、强扩展。PHP在web应用中的特点
适合web开发。将web开发中常用的行为、内容做了良好的封装。程序员可以很轻易的使用它们。基于脚本的运行方式,修改代码后不需要重新编译,很多情况下也不需要重启服务器。开发快捷,部署方便,支持环境众多。非常优秀的扩展能力。非常多的扩展子件。开发框架众多。对多种数据库支持很好良好的社区支持,本身开源。修改容易PHP的优点
容易写出坏的代码。(解决方法:严格遵循规范)效能不高。(解决方法:复杂业务使用C扩展)每次执行都要经历 扫描-编译-执行 的阶段,无执久对象模型。(解决方法:使用APC)命名混乱,参数混乱,得随时翻着手册PHP的缺点
对开发者起编码约束作用。提供了ORM,使对数据库变成对数据对象的访问,让程序员对数据的处理更加专注于面向对象上.通过配置(无需改动代码)即能变更服务环境,使得迁移成本减小方便程序员实现完整的MVC开发模式.使程序员更专注于业务领域,不再过多关注建立数据模型的底层代码以及处理视图展示.内置大量开发中的常用工具。可随时调用。也可自己扩展编写。本身即由PHP编写。可随时修改以满足达到自己的需求。PHP框架
Qee /FleaPHP (领域设计驱动))(ThinkPHP (大的类库 Zend Framework (Pear的OOP版)Yii KiwiPHP (工业微内核)Symfony (配置最简单)目前流行的PHP框架
WEB中的MVC开发模式应用场景一: M (数据模型,框架提供)C (控制器,框架实现)V (视图,应用者编写,框架自动载入)应用者编写的,是供控制器装载的业务处理类.应用场景二: M (业务模型,应用者编写)C (业务控制器,应用者编写,由框架控制器自动载入)V (视图,应用者编写,框架自动载入)现实中复杂应用场景:1.用户请求: http://domain/blog/list/2.分析URL,实例化逻辑控制类 blog,执行方法 list3.在控制类 news中,又分别实例化业务模型类 blog和user,并做相应处理.4.业务模型类 blog,user中,调用数据模型(专用,非M层),对数据进行处理.5.回到逻辑控制类中,展现视图 $this-view-output( );
PHP没有持久层,每一次访问请求都是独立运行,建立的模型对象不能持久存在,无法跨访问复用.如果框架/应用的设计过于繁琐,每次装载/初始化都会浪费不少时间.各层之间的耦合度尽量降到最低,尤其是业务模型和业务逻辑之间要尽量分离.以便日后修改或复用.PHP本身只有较少功能是抛出异常,大部份是抛出错误(Notice,warning,error),代码编写中应时常对应用环境的正确性做手工检查,不符合条件时手工抛出异常,并设置异常接收器统一处理
文档评论(0)