首页 > 后端开发 > 正文

php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述

2023-09-30 15:28:38 | 我爱编程网

今天我爱编程网小编整理了php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述相关内容,希望能帮助到大家,一起来看下吧。

php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述

php现在比较热门实用的框架有哪些?

PHP作为强大的Web开发语言,上手非常容易,开发效率很高,不需要像Java一样进行编译后才能执行,但是如果用原生的PHP来开发还是会存在开发速度慢,或者说后期维护难度大,缺乏代码严谨性等问题,我就需要使用目前流行的MVC框架,那么现在有哪些PHP框架更方便,更快捷呢?

1.Laravel

laravel可以说是从去年到今年都是最热门的PHP框架之一,它的优势在于易学习,上市容易,强大的扩展类库,可以直接使用Composer引用(laravel5.5以后不需要在文件引用外加的扩展类),你可以在它的官方文档中找到很多你能用的到的扩展类,不需要自己再进行开发,方便的artisan命令,一键生成MVC以及其他常用文件,并且支持队列,数据库迁移,数据填充等功能,是一个非常有艺术感的框架。

2.Thinkphp

作为PHP开发者中最受欢迎的框架之一,它有着优雅的语法,完善的开发文档,能简单的开发出你需要的功能,比起之前的3版本,最新的版本也可以使用Composer来下载类库,并且也支持队列,身份验证,回话,高级路由等功能。

3.Yii2

拥有简洁的面向对象的框架,能够很好的扩展你的视图,总的来说Yii2对开发者是很友好的。 我爱编程网

4.CI

它可谓是PHP框架中轻量级框架的代表,本身框架非常小,但是功能依然强大,它提供了简单而精致的开发类库,唯一缺失的就是本身的安全性。

这是目前PHP比较热门的框架,个人还是比较喜欢使用Laravel,开发效率极高,有非常多的类库来辅助支持,更新也快,最近已经更新到了5.6版本,不过建议还是使用5.5LTS长期支持版,不需要经常更新框架源码,如用上手速度来看的话,优先可以选择CI框架。

php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述

php的开发框架是什么

php的开发框架是什么?下面为您详细介绍。
框架是通过提供一个开发Web程序的基本架构,PHP开发框架就是一种搭建好了的PHP的基本架构。它能够促进快速软件开发(RAD),为我们节约时间,有助于创建更稳定的程序,并减少开发者的重复编写代码的劳动,让我们可以花更多的时间去创造真正的Web程序。


拓展:四种主流框架
ThinkPHP
ThinkPHP(FCS)是一个轻量级的中型框架,它是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发。
Yii
Yii 是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了 今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
Codelgniter
Codelgniter 以它的简单易用,性能和速度而闻名。它提供了简单的解决方案,还有扩展的知识库,通过视频教程,用户指南和wiki来提供支持。
Laravel
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述

PHP是什么-PHP的架构及原理概述



记得我刚开始学习PHP的时候,许多面试官会经常问我PHP是什么,那时的标准回答是PHP是一种弱类型动态脚本编程语言,开源,
免费,是超文本预处理器的缩写。
这只是很浅的解释,PHP对我来说是一个工具,是我手里的一把锤子,虽然这把锤子时常被调侃为两边都是起钉器的锤子。
多进程模型
PHP是以多进程模型设计的,这样的好处是请求之间互不干涉,一个请求失败也不会对其他进程造成影响,作为最开始仅仅用于个人网站的一个工具集这样的设计并没有什么不妥,随着PHP的应用变大,访问量增加这种方式显然是不合适的,因为启动一个进程的开销对于海量请求是不划算的,所以现在PHP基本都是运行在PHP-FPM的管理下的,这是一个PHP进程管理器,它常驻内存启动一些PHP进程待命,当请求进入时分配一个进程进行处理,PHP进程处理完毕后回收进程,但并不销毁进程,这让PHP也能应对高流量的访问请求。
当然现在也有PHP多线程的解决方案和基于协程的解决方案让PHP更高效的处理WEB请求。
弱类型
与 JAVA、C/C++ 不同,PHP是一门若类型的语言,变量在声明的那一刻是不需要确定它的类型的,而在运行时类型也会发生显式或隐式的类型改变,这也是PHP开发应用迅速、方便的原因之一。
其他
Zend 引擎 + Ext 扩展 的模式降低了内部耦合,可以方便的为PHP本身增加功能和去除功能。
语法简单,没有太多强制规范,编程风格上既可以用过程式、也可以用面向对象的方式进行开发,当然函数式也可以。
以目前的 PHP 主流版本 PHP7 和 PHP5 来说架构是如上图所示,主要有四层体系构成,从下到上依次是 Zend 引擎、Extensions 扩展、SAPI 接口、上层应用。
Zend 引擎
Zend 引擎是 PHP4 以后加入 PHP 的,是对原有PHP解释器的重写,整体使用 C 语言进行开发,也就是说可以把PHP理解成用C写的一个编程语言软件,引擎的作用是将PHP代码翻译为一种叫opcode的中间语言,它类似于JAVA的ByteCode(字节码)。
引擎对PHP代码会执行四个步骤:
词法分析 Scanning(Lexing),将 PHP 代码转换为语言片段(Tokens)。解析 Parsing, 将 Tokens 转换成简单而有意义的表达式。编译 Compilation,将表达式编译成Opcode。执行 Execution,顺序执行Opcode,每次一条,以实现PHP代码所表达的功能。
APC、Opchche 这些扩展可以将Opcode缓存以加速PHP应用的运行速度,使用它们就可以在请求再次来临时省略前三步。
引擎也实现了基本的数据结构、内存分配及管理,提供了相应的API方法供外部调用。
Extensions 扩展
常见的内置函数、标准库都是通过extension来实现的,这些叫做PHP的核心扩展,用户也可以根据自己的要求安装PHP的扩展。
SAPI
SAPI 是 Server Application Programming Interface 的缩写,中文为服务端应用编程接口,它通过一系列钩子函数使得PHP可以和外围交换数据,SAPI 就是 PHP 和外部环境的代理器,它把外部环境抽象后,为内部的PHP提供一套固定的,统一的接口,使得 PHP 自身实现能够不受错综复杂的外部环境影响,保持一定的独立性。
通过 SAPI 的解耦,PHP 可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。
上层应用
程序员编写的PHP程序,无论是 Web 应用还是 Cli 方式运行的应用都是上层应用,PHP 程序员主要工作就是编写它们。
总结
这些东西如果你学习过 android 开发理解起来显然更容易,因为android的架构和PHP的这种架构看起来很相似。当你理解这些后你就会理解为什么PHP的创始人会说PHP开发其实是不需要框架的,因为PHP的设计本身就是一个类似框架的东西,如果用汽车比喻的话PHP本身就是就是车的骨架,Zend的是引擎,Ext是轮子,方向盘等车的组件,SAPI 就是路。
对于这些内容,可能有的人觉得有点无用,因为很多人偏执的认为自己只是个开车的,为什么开车的要了解车子是怎么跑起来的,对于了解如何制造一辆车更是嗤之以鼻。我曾经也这样认为,直到翻译Laravel文档时,Laravel 的作者给了我一些启发,也把这些话送给看到这个文章的你们:
使用「现实世界」中的任何工具时,如果理解这个工具的运作原理,那么你会更加得心应手的使用这个工具。应用开发也是这样。当你明白你的开发工具如何运行的,你就会对它们的使用游刃有余。
这篇文档的目的是让你更好的理解 Laravel 框架如何进行工作及它的工作原理。通过对框架进行全面的了解,一切都不会那么「神奇」,也将会让你更有自信的构建你的应用。

以上就是php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述全部内容,更多相关信息,敬请关注我爱编程网。
与“php各大框架以及实现原理 PHP是什么-PHP的架构及原理概述”相关推荐
php各大框架以及实现原理 php的开发框架是什么
php各大框架以及实现原理 php的开发框架是什么

php的开发框架是什么php的开发框架是什么?下面为您详细介绍。框架是通过提供一个开发Web程序的基本架构,PHP开发框架就是一种搭建好了的PHP的基本架构。它能够促进快速软件开发(RAD),为我们节约时间,有助于创建更稳定的程序,并减少开发者的重复编写代码的劳动,让我们可以花更多的时间去创造真正的Web程序。拓展:四种主流框架ThinkPHPThinkPHP(FCS)是

2023-09-30 15:27:48
php实现一个框架 PHP是什么-PHP的架构及原理概述
php实现一个框架 PHP是什么-PHP的架构及原理概述

php知识框架总结php知识框架总结篇一:php基础知识点总结PHP语言基础简单整理1.开始结束标记的格式只有在没有判断语句时才能使用。对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:stringurlencode(stringstr);对URL编码后的查询字符串进行解码,可以通

2023-09-24 21:18:28
深入php框架原理 PHP是什么-PHP的架构及原理概述
深入php框架原理 PHP是什么-PHP的架构及原理概述

如何成为优秀的PHP全栈开发师?首先要给提问者泼一盆凉水,全栈有风险,选择需谨慎。全栈最怕的就是都会一点,再深入一下就啥也不会,不能把全干理解全栈然后自嗨!现代社会是一个越来越分工明确的社会,每个人的时间精力是有限的不是特别有天赋自信可以驾驭,选择一个点突破人生成就的上限可能会更高。下面是我个人主观总结的全栈成长轨迹??我提取提问里面的3个关键词优秀PHP全栈

2023-09-10 17:50:35
php框架路由原理 PHP是什么-PHP的架构及原理概述
php框架路由原理 PHP是什么-PHP的架构及原理概述

什么是php框架?php框架对很多新手而言可能会觉得很难攀越,其实不然,只要知道一个框架的流程,明白原理了,基本类似框架都可以看懂,php框架真正的发展要从php5开始了,其实php4时代就有一些框架,但是因为框架并没有给大家带来多方便而觉得很复杂,速度没有纯php好,所以一直到了php5才有大的发展,php5的面向对象模型的修改对框架的发展起了很大的作用。2php框架介绍框架

2023-09-12 18:47:00
禅道php框架原理 PHP是什么-PHP的架构及原理概述
禅道php框架原理 PHP是什么-PHP的架构及原理概述

php开发环境实验原理是什么?PHP开发环境实验的原理主要是通过建立一个适宜的PHP运行环境,包括PHP代码的运行、数据库的连接与操作、相关开发工具的使用等。同时,还需要了解和掌握PHP的相关知识,如数据类型、变量与常量、选择结构流程控制、循环结构流程控制等,这些知识是实现PHP程序设计和编写的基础。除此之外,对于一些常用的PHP框架,如ThinkPHP、Laravel等,也需要有所了解

2023-09-17 16:22:09
php框架原理图解 PHP是什么-PHP的架构及原理概述
php框架原理图解 PHP是什么-PHP的架构及原理概述

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-09-18 15:10:20
php的基础框架原理 PHP是什么-PHP的架构及原理概述
php的基础框架原理 PHP是什么-PHP的架构及原理概述

php知识框架总结php知识框架总结篇一:php基础知识点总结PHP语言基础简单整理1.开始结束标记的格式只有在没有判断语句时才能使用。对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:stringurlencode(stringstr);对URL编码后的查询字符串进行解码,可以通

2023-09-16 11:01:10
php框架自动加载原理 PHP是什么-PHP的架构及原理概述
php框架自动加载原理 PHP是什么-PHP的架构及原理概述

详解PHP文件的自动加载(autoloading)传统上,在PHP里,当我们要用到一个class文件的时候,我们都得在文档头部require或者include一下:<?phprequire_once('../includes/functions.php');require_once('../includes/database.php');require_once('..

2023-09-18 19:38:45