Lamp架构下的web开发.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
× Lamp架构下的web开发 - Presentation Transcript LAMP架构下的Web开发 概念、流程及优化策略 开发阶段常规步骤 架构设计 浏览器版本,系统环境等 Nginx Apache IIS…. Jquery,EXT…. Mysql MSSQL ORACLE Php Python Ruby java Memcache APC 共享内存……. 按钮 菜单 ….. 布局层次 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,执行方法 list 3.在控制类 news中,又分别实例化业务模型类 blog和user,并做相应处理. 4.业务模型类 blog,user中,调用数据模型(专用,非M层),对数据进行处理. 5.回到逻辑控制类中,展现视图 $this-view-output( ); PHP没有持久层,每一次访问请求都是独立运行,建立的模型对象不能持久存在,无法跨访问复用.如果框架/应用的设计过于繁琐,每次装载/初始化都会浪费不少时间. 各层之间的耦合度尽量降到最低,尤其是业务模型和业务逻辑之间要尽量分离.以便日后修改或复用. PHP本身只有较少功能是抛出异常,大部份是抛出错误(Notice,warning,error),代码编写中应时常对应用环境的正确性做手工检查,不符合条件时手工抛出异常,并设置异常接收器统一处理

文档评论(0)

yyh892289 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档