首页 后端开发 PHP问题 php框架区别

php框架区别

Sep 30, 2019 pm 05:45 PM
php 区别 框架

php框架区别

PHP常见框架区别

一、CI框架

CI框架是一个简单快速的PHP MVC轻量级框架,它执行效率高,快速简洁,代码量少,适合中小型项目开发,也可以做大型项目,但扩展能力不是很好。

优势:框架比较简单,适合入门开发,易学,上手快,静态化很容易,文档比较详细。

缺点:由于框架较小,所以功能不完全,比如使用mongoDB就要自己实现接口,对数据库的操作不够安全(写入操作)。对大型项目支持不好。

开发工作流程:

1、index.php作为前端控制器,初始化运行CodeIgniter所需要的基本资源。

2、Router检查HTTP请求,以确定谁来处理请求。

3、如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。

4、安全(Security)。应用程序控制器(ApplicationController)装载之前,HTTP请求和任何用户提交的数据将被过滤。

5、控制器(Controller)装载模型、核心库、插件、辅助函数,以及任何处理特定请求所需的其它资源。

6、最终视图(View)渲染发送到Web浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求。

CI的url模式:

Ci支持的url模式默认为pathinfo形式,也就是使用/隔开。其中//localhost/citest/index.php/ 是固定的,表示的就是入口文件

二、ThinkPHP框架

TP框架是一款快速兼容简单的轻量级国产PHP开发框架,使用面向对象的结构和MVC模式进行开发。它可以支持Windows、Linux等服务器,并且支持MySql、Sqlite等多种数据库和PDO扩展。其自身包含底层架构、兼容处理、基类库、数据库访问层、模版引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。适合中小型项目开发。

优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口文件,上手快。

缺点:模版比较固定,导致思想容易固化。

TP框架中提供的4种路由形式:

1、get路由形式;

//网址/index.php?m=分组&c=控制器&a=方法(该形式书最底层的传输方式,不安全)。

2、pathinfo路由形式【默认路由形式】:

//网址/index.php/分组/控制器/方法

3、 rewrite路由形式;

//网址/分组/控制器/方法

4、 兼容路由形式:

//网址/index.php?s=/分组/控制器/方法  

三、Laravel框架

Laravel是一套简洁,优雅的PHP WEB开发框架。集合了PHP比较新的特性,以及各种的设计模式,是一个适合学习的框架,但要求PHP基础扎实熟练。适合大中型项目的开发。

优势:

1、支持Composer

2、框架结构比较清晰,注重代码的模块化(抽象了中间件,任务,服务等)和可扩展性,路由系统快速高效

3、支持处理跨站请求伪造,在进行form表单post提交时,必须传入{{ csrf_field() }}

4、Laravel 的社区很强大,具有丰富的扩展包及工具

5、具有缓存、身份验证、任务自动化、hash加密、事务等功能

6、独特的 .env环境文件,方便了系统的配置和不同平台的开发

缺点:

基于组件式的框架,相对有点臃肿

Laravel路由方法

1、基本路由Route::get('/',function(){   return'HelloWorld';});

2、带参数路由Route::get('user/{id}', function($id){ return 'User '.$id;});

3、路由过滤参数Route::get('user/{id}/{name}',function($id,$name){   //}) -> where(array('id'=> '[0-9]+', 'name' =>'[a-z]+'));

4、子域名路由等等等等

5、控制器路由,例如下面的一些样式

1

2

3

4

5

6

7

Route::resource('article','ArticleController'); //restful方式(具体包括get/post等)

 

  Route::controller('article','ArticleController'); //restful方式(具体包括get/post等)

 

  Route::get('user/login','UserController@login');//非restful方式 get

 

  Route::post('user/i','UserController@login');//非restful方式post

登录后复制

四、Yii 框架

Yii Framework是一个基于组件、用于大规模web应用开发的高性能PHP开源框架,是目前最具效率的PHP框架之一。适合大型重量型web应用开发。

优势:

1、纯OOP开发,模型使用方便

2、支持命令行工具开发,可以快速的创建一个web应用程序的代码

3、具有高度的可重用性和可扩展性

4、开发速度快,性能优异且功能丰富

5、支持composer包管理工具

缺点:

model 层考虑较少,文档中中文文档较少。要求php技术精通水平,OOP编程也要很熟练。

推荐教程:ThinkPHP教程

以上是php框架区别的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP和Python:深入了解他们的历史 PHP和Python:深入了解他们的历史 Apr 18, 2025 am 12:25 AM

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

继续使用PHP:耐力的原因 继续使用PHP:耐力的原因 Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

laravel和thinkphp的区别 laravel和thinkphp的区别 Apr 18, 2025 pm 01:09 PM

Laravel 和 ThinkPHP 都是流行的 PHP 框架,在开发中各有优缺点。本文将深入比较这两者,重点介绍它们的架构、特性和性能差异,以帮助开发者根据其特定项目需求做出明智的选择。

IIS和PHP的兼容性:深度潜水 IIS和PHP的兼容性:深度潜水 Apr 22, 2025 am 12:01 AM

IIS和PHP可以兼容,通过FastCGI实现。1.IIS通过配置文件将.php文件请求转发给FastCGI模块。2.FastCGI模块启动PHP进程处理请求,提高性能和稳定性。3.实际应用中需注意配置细节、错误调试和性能优化。

如果session_start()被多次调用会发生什么? 如果session_start()被多次调用会发生什么? Apr 25, 2025 am 12:06 AM

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

在后端开发中,如何区分service层和dao层的职责? 在后端开发中,如何区分service层和dao层的职责? Apr 19, 2025 pm 01:51 PM

探讨后端开发中的分层架构在后端开发中,分层架构是一种常见的设计模式,通常包括controller、service和dao三层�...

yi2和tp5区别有哪些 yi2和tp5区别有哪些 Apr 18, 2025 pm 11:06 PM

随着PHP框架技术的不断发展,Yi2和TP5作为两大主流框架备受关注。它们都以出色的性能、丰富的功能和健壮性着称,但却存在着一些差异和优劣势。了解这些区别对于开发者在选择框架时至关重要。

See all articles