首页 > 后端开发 > 正文

PHP框架构成 php有什么框架模式

2023-08-25 09:34:42 | 我爱编程网

今天我爱编程网小编整理了PHP框架构成 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有什么框架模式



MVC
mvc设计模式核心:
解耦,让不同的代码块之间降低耦合,增强代码的可扩展和可移植性,实现向后兼容。
mvc各部分的功能:
M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
V全拼为View,用于封装结果,生成页面展示的html内容。
C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
MVT
MVT各部分的功能:
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
MVVM
MVVM是一种架构模式,并非一种框架,是一种思想,一种组织和管理代码的艺术。它利用数据绑定、属性依赖、路由事件、命令等特性实现高效灵活的架构。
MVVM的核心是数据驱动即ViewModel,ViewModel是View和Model的关系映射。ViewModel类似中转站(Value Converter),负责转换Model中的数据对象,使得数据变得更加易于管理和使用。MVVM本质就是基于操作数据来操作视图进而操作DOM,借助于MVVM无需直接操作DOM,开发者只需完成包含声明绑定的视图模板,编写ViewModel中有业务,使得View完全实现自动化。
推荐教程:PHP视频教程

PHP框架构成 php有什么框架模式

PHP有哪些流行的框架


PHP有哪些流行的框架?
PHP有哪些流行的框架?
PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。
在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:
1.Laravel
Laravel是一个富有表现力的Web应用程序框架,可简化用户与邮件、队列、缓存、会话等交互的复杂过程。Laravel对于学习和使用PHP框架的开发者来说是非常友好的。它支持MVC框架,并提供强大的路由操作和良好的模板语言。
2.CodeIgniter
CodeIgniter是一个轻量级的PHP框架,以简单、轻便和易于学习、使用、扩展和维护为特点。它适合于那些想要快速开发小的web应用程序的开发者,例如学生或刚刚入门的开发者。
3.CakePHP
CakePHP是一个易于学习、高效并且功能强大的PHP开发框架。它结合了RubyonRails的思想,并提供了对MVC的完全支持、CRUD对接的快捷方式、可插拔的插件机制、Auth/MACL等安全机制。CakePHP适用于构建网站、应用程序和内容管理系统(CMS)等。
4.Symfony
Symfony是一个高度可扩展的PHP框架,以可重复使用的代码组件开发元素,它遵循MVC的设计模型。Symfony提供了安全、体面和快速的应用开发,它广泛应用于在web和移动应用程序的开发中。
5.Zend
ZendFramework是一个开源的PHP框架,由Zend公司开发管理。它的灵活性和可扩展性为用户提供独特的使用体验。与其他框架不同,Zend框架是一个组件式框架,每个组件可以作为独立的软件库使用,包括认证、缓存、日志等。
总之,以上列举的几款常见的PHP框架都有它们各自的特点和优点,如果你正在寻找一个适合你开发项目的框架,那么你应该根据自己的需求和技术水平来选择适合自己的框架。

以上,就是我爱编程网小编给大家带来的PHP框架构成 php有什么框架模式全部内容,希望对大家有所帮助!
与“PHP框架构成 php有什么框架模式”相关推荐
PHP框架式构图 php有什么框架模式
PHP框架式构图 php有什么框架模式

php有什么框架模式MVCmvc设计模式核心:解耦,让不同的代码块之间降低耦合,增强代码的可扩展和可移植性,实现向后兼容。mvc各部分的功能:M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。V全拼为View,用于封装结果,生成页面展示的html内容。C全拼为Controller,用于接收请求,处理业务逻辑,与Model和Vie

2023-08-27 17:21:43
php最成熟的框架模式 php主流框架都有什么
php最成熟的框架模式 php主流框架都有什么

php主流框架都有什么php各种主流框架的比较一、ThinkPHP框架优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口文件,上手快,有丰富的中文文档;学习成本低,社区活跃度高,在

2023-09-29 19:21:23
php框架模型 php有什么框架模式
php框架模型 php有什么框架模式

php有什么框架模式MVCmvc设计模式核心:解耦,让不同的代码块之间降低耦合,增强代码的可扩展和可移植性,实现向后兼容。mvc各部分的功能:M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。V全拼为View,用于封装结果,生成页面展示的html内容。C全拼为Controller,用于接收请求,处理业务逻辑,与Model和Vie

2023-09-01 23:38:22
php框架和模板 php有什么框架模式
php框架和模板 php有什么框架模式

PHP框架的PHP开发框架一直以来php框架被广泛利用,多半都是基于mvc架构模式的,还有基于事件驱动模式的,大致列举几个。ThinkPHP是一个性能卓越并且功能丰富的轻量级PHP开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。从1.*版本开始就放弃了对PHP4的兼容,因此整个框架的架构和实现能够得

2023-08-28 20:19:16
php框架mvc php有什么框架模式
php框架mvc php有什么框架模式

简述mvc模式中的mvc体现在thinkphp6框架中是哪些模型、视图。1、模型(Model):模型负责处理数据层的逻辑,与数据库进行交互,包括数据的增删改查等操作。在ThinkPHP6中,模型类位于app目录下的model目录中,通过继承ThinkPHP提供的基础模型类,可以方便地进行数据库操作。2、视图(View):视图负责展示数据,并与用户进行交互。在ThinkPHP6中,视图

2023-08-25 09:45:27
php框架demo php有什么框架模式
php框架demo php有什么框架模式

php有什么框架模式MVCmvc设计模式核心:解耦,让不同的代码块之间降低耦合,增强代码的可扩展和可移植性,实现向后兼容。mvc各部分的功能:M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。V全拼为View,用于封装结果,生成页面展示的html内容。C全拼为Controller,用于接收请求,处理业务逻辑,与Model和Vie

2023-09-02 10:51:22
php有什么框架模式 php有哪些框架?
php有什么框架模式 php有哪些框架?

php框架需要掌握什么php框架需要掌握什么?下面介绍几个主流的PHP框架。(1)ZendFrameworkZendFramework是由Zend公司开发的PHP框架,可用于开发Web程序和服务。ZendFramework采用MVC架构模式来分离应用程序中不同的部分,从而方便程序的开发和维护。(2)CakePHPCakePHP是一个运用了诸如ActiveRecord、

2023-09-17 03:44:35
php框架类型 php有什么框架模式
php框架类型 php有什么框架模式

php主流框架都有什么php各种主流框架的比较一、ThinkPHP框架优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口文件,上手快,有丰富的中文文档;学习成本低,社区活跃度高,在

2023-08-26 21:29:02