做一个项目用什么框架?

就拿我接触的几种框架举例:

yaf框架优点:  这个框架特别nice ,速度快个人除了tp5久喜欢这个框架啦

  1. 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
  2. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
  3. 更短的内存周转周期, 提高内存利用率, 降低内存占用率.
  4. 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
  5. 高性能的视图引擎.
  6. 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
  7. 内建多种路由, 可以兼容目前常见的各种路由协议.
  8. 强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
  9. 在框架本身,对危险的操作习惯做了禁止.
  10. 更快的执行速度, 更少的内存占用.

其实, 来点简单的,我认为yaf最大的有点是性能,这不是一般的快,性能比其他php框架快上十几倍,和原生的php相差不是非常多。缺点也很明显,毕竟是C的扩展,如果程序有漏洞,作者未及时更新,使用者在不懂C的情况下,只能看着网站受辱或者祈祷,或者关闭网站.

ci框架优点适合的项目类型:

快捷开发,博客、小型网站

    CodeIgniter的主要特性如下:
           * 基于 MVC 体系
           * 超轻量级
           * 对数种数据库平台的全特性支持的数据库类
           * Active Record 支持
           * 表单与数据验证
           * 安全性与 XSS 过滤
           * Session 管理
           * 邮件发送类,支持附件,HTML 或文本邮件,多协议(sendmail, SMTP 和 Mail)及更多。
           * 图像处理类库(剪裁,缩放,旋转等)。支持 GD,ImageMagick 和 BetPBM
           * 文件上传类
           * FTP 类
           * 本地化
           * 分页
           * 数据加密
           * 基准测试
           * 全页面缓存
           * 错误日志
          * 应用程序评测
          * 日历类
          * User-Agent 类
          * Zip 编码类
          * 模板引擎类
          * Trackback 类
          * XML-RPC 类库
          * 单元测试类 
          * “搜索引擎友好”的 URL
          * 灵活的 URI 路由
          * 支持钩子和类扩展
          * 大量的辅助函数
yii框架优点:个人觉得适用于大型项目

1.从开发效率上来说,YII明显更胜一筹
    2.但是从入门难度上来说,TP更胜一筹,文档也是tp更好。
    3.从支持来说,YII的扩展要更多,因为国外也有一拨人在开发,毕竟他在国外也算是主流框架之一。而tp的大部分扩展靠的是官方。
    4.tp的定位可能是轻量级的快速开发,yii可能是中小量级的高效开发。两者定位上可能有所区别。
    5.有很多大站、高并发的站是用yii做的,导致在名声上,yii听上去比tp高大上,事实上初学者也不可能去做大项目。

    6、Yii 框架的代码风格上于net比较接近,可以很方便的阅读php代码,上手快。

    7、Yii 的框架对扩展支持相当高,很方便扩展,

    8、很重要的性能,Yii 的性能相对优秀,而且属于轻量级框架。spl_autoload_register 预注册,按需载入文件等对性能都有很大提高。

    8、modules 设计是一个很优秀的东西,他理论上可以无限嵌套,当然不建议嵌套超过三层。 

    9、widget 窗口小部件的应用,可以更加方便的构造通用模块。

    10、其实集成的model,以及CActiveRecord模式 包含的验证机制,都是很好的东西,但是约束性也相对强一些。

    11、Yii框架封装了各种缓存方式,让你只需要调用统一的方法就可以在不同的缓存中切换。

tp5.0框架优点   这个是我最喜欢的框架做什么项目都可以 

1.高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、数据分表等高级特性。

 

   2、视图模型:轻松动态地创建数据库视图,多表查询相对简单。

 

   3、关联模型:让你以出乎意料的简单、灵活的方式完成多表的关联操作。

 

  4、模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类型的模板标签,融合了Smarty和JSP标签库的思想,支持标签库扩展。通过驱动还可以支持Smarty、EaseTemplate、TemplateLite、Smart等第三方模板引擎。

 

  5、缓存机制:系统支持包括文件方式、APC、Db、Memcache、Shmop、Eaccelerator和Xcache在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。

 

  6、类库导入:ThinkPHP是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。为了方便项目的跨平台移植,系统还可以严格检查加载文件的大小写。

 

  7、扩展机制:系统支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、Widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心DIY自己的框架和扩展应用。

 

  8、URL模式:系统支持普通模式、PATHINFO模式、REWRITE模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,让你随心所欲的构建需要的URL地址和进行SEO优化工作。

 

  9、编译机制:独创的核心编译和项目的动态编译机制,有效减少OOP开发中文件加载的性能开销。ALLINONE模式更是让你体验飞一般的感觉。

 

  10、ORM:简洁轻巧的ORM实现,配合简单的CURD以及AR模式,让开发效率无处不在。

 

  11、查询语言:内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效。

 

  12、动态模型:无需创建任何对应的模型类,轻松完成CURD操作,支持多种模型之间的动态切换,让你领略数据操作的无比畅快和最佳体验。

 

  13、分组模块:不用担心大项目的分工协调和部署问题,分组模块帮你解决跨项目的难题。

 

  14、AJAX支持:内置AJAX数据返回方法,支持JSON、XML和EVAL格式返回客户端,并且系统不绑定任何AJAX类库,可随意使用自己熟悉的AJAX类库进行操作。

 

  15、多语言支持:系统支持语言包功能,项目和模块都可以有单独的语言包,并且可以自动检测浏览器语言自动载入对应的语言包。

 

  16、模式扩展:除了标准模式外,系统内置了Lite、Thin和Cli模式,针对不同级别的应用开发提供最佳核心框架,还可以自定义模式扩展。

 

  17、自动验证和完成:自动完成表单数据的验证和过滤,生成安全的数据对象。

 

  18、字段类型检测:字段类型强制转换,确保数据写入和查询更安全。

 

  19、数据库特性:系统支持多数据库连接和动态切换机制,支持分布式数据库。犹如企业开发的一把利刃,跨数据库应用和分布式支持从此无忧。

 laravel框架 优点:  今年突然火起来的框架,个人感觉也还不错(每句代码表达的意思很强烈,易懂)

Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为一个框架,它为你准备好了一切,composer是个php的未来,没有composer,PHP肯定要走向没落。
laravel最大的特点和优秀之处就是集合了php比较新的特性,以及各种各样的设计模式,Ioc容器,依赖注入等。因此laravel是一个适合学习的框架,他和其他的框架思想有着极大的不同,这也要求你非常熟练php,基础扎实。
如果你觉得laravel很困难 那么原因只有一个 你php基础不够好。
通常觉得Laravel难学且无用的开发者中,只会PHP一门语言,或者说,没有静态编译型语言(如C/C++/Java/Go等)使用经验的开发者占绝大多数。

路由和orm部分,和前端backbone之类的结合应该很契合,还是很不错的,另外composer是个很好东西,关于效率问题,web程序的运行效率从来就不在框架,而在数据库,框架那一点点消耗根本不会是什么负担。
laravel框架还是蛮不错的,可以说非常全面,配合phpstorm开发还是很好的。

  

    原文作者:乔乔zuibang
    原文地址: https://blog.csdn.net/xunhuanxiaogongzhu/article/details/80731354
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞