thinkphp 引入时间_yii框架 thinkphp框架 ci框架laverel框架比较

用过其中的yii TP CI框架。大概整理了这些框架的优点和缺点,有些错误的地方还希望大家指正。各个框架各有所长,针对的应用场景不同。

一、Ci框架

推崇简单就是美这一原则,没有花哨的设计模式,没有华丽的对象结构,一切就是那么简单。

优点:

框架的入门槛很低,极易学,极易用,框架很小,静态化非常容易

配置简单,全部的配置使用php脚本来配置,执行效率高

缺点:

架构略简单,只能满足小型应用,略微不太能够满足中型应用需要

大型项目扩展能力差,有些功能需要自己写扩展

数据库类的扩展 ci给用户提供了一个名为call_function函数,让用户扩展,ci提供了名为call_function的函数让用户扩展,对于初学者而言,或许可以大受欢迎。但是,这种做法,实际上有很多不雅之处。

第一,扩展函数写在哪里?势必写在全局的helper函数中。

第二,扩展函数如何与数据库类交互?势必要在参数中把当前实例传入助手函数 没有提供实用的助手函数

二、Thinkphp

ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发。

优点:

1.易于上手,有丰富的中文文档;

2.框架的兼容性较强,PHP4和PHP5完全兼容、完全支持UTF8等。

3.适合用于中小项目的开发

4.从thinkphp3.2.2后引入composer包管理工具

缺点:(这里限thinkphp5之前,thinkphp5版本之后做了大量的优化,比如之前的大写字母函数,已经取消掉了。)thinkphp也在与时俱进,thinkphp是我用的第二个框架。

1.对Ajax的支持不是很好;

2.目录结构混乱,需要花时间整理;

3.上手容易,但是深入学习较难

三、YiiFramework

Yii是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。

优点:

1,纯OOP

2,用于大规模Web应用

3,模型使用方便

4,开发速度快,运行速度也快。性能优异且功能丰富

5,使用命令行工具。

6.Yii 的框架对扩展支持相当高,很方便扩展,我们慢慢的自己扩展了很多组件。最近甚至修改了程序入口,让我们可以更加在框架内操控程序。

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

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

9.spl_autoload_register 预注册,按需载入文件等对性能都有很大提高。

Yii2

  1. 暴力的Gii代码生成,基本上代码都可以偷懒写
  2. 支持composer包管理工具

缺点:

1,对Model层的指导和考虑较少

2,文档实例较少

3,英文太多

4,要求PHP技术精通,OOP编程要熟练!

5,前后端完全的分离的趋势下,yii2前后端的耦合的还是有些重了。View并不是理想View,理想中的View可能只是html代码,不会涉及PHP代码。

四、Lavarel框架

使用了大量设计模式,框架完全符合设计模式的五大基本原则(面向对象设计模式有5大基本原则:单一职责原则、开发封闭原则、依赖倒置原则、接口隔离原则、Liskov替换原则。),模块之间耦合度很低,服务容器可以方便的扩展框架功能以及编写测试。能快速开发出功能,自带各种方便的服务,比如数据验证、队列、缓存、数据迁移、测试、artisan命令行等等,还有强大的ORM

优点:

Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD,DDD和BDD。作为一个框架,它准备好了一切,composer是个php的未来,没有composer,PHP肯定要走向没落。laravel最大的特点和优秀之处就是集合了php比较新的特性,以及各种各样的设计模式,Ioc容器,依赖注入等。

因此laravel是一个适合学习的框架,他和其他的框架思想有着极大的不同,这也要求你非常熟练PHP中,基础扎实。

1,使用composer包管理工具,方便使用丰富的扩展包

2,强大的路由系统,Blade模板引擎,

3,文档非常丰富,社区也是非常活跃,现在全球范围内占有率最高,基本上所有的问题都可以找到答案

4,大量的第三方开源库(composer收录的超过5500个包),可以快速方便的实现模块功能,第三方优秀的包,官方都有详细使用手册。例如:laravel/collective

5,安全机制非常齐全,提交表单的数据验证(验证有差不多80种,能想到的基本都有),提交数据时产生随机_token验证,避免非法提交,能避免跨域攻击和SQL注入。

6,中间件和路由,对访问进行过滤及控制,调用函数类和方法前进行判断请求的合法性,避免非法请求;

缺点:

1.基于组件式的框架,所以比较臃肿。

2.没有自动路由,每加一个action就要去配置文件里写一次

3.全局函数及facade 众多语言/框架都是先引入,再使用,laravel这里并不是

4.文档简陋,细节没有讲清楚,具体还要看源码

5.view层 view文件路径 用.取代/

6.性能 不如ci yii thinkphp

欢迎关注我的公众号 专注于互联网岗位内推

5a49f72d2e628af8404ae42870921c61.png

专注IT人群求职内推,直通心中所念,无惧职场寒冬

回复【机器学习资料】可领取上百G机器学习课程及数据资料

回复【大数据】可领取大数据相关资料

回复【推荐系统】可领取推荐算法相关资料

回复【python】可领取python相关学习资料

回复【NLP】可领取自然语言处理相关学习资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值