- 博客(67)
- 收藏
- 关注
原创 从0开始学PHP面向对象内容之常用设计模式(策略,观察者)
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以互相替换,该模式使得算法可以独立于使用它的客户端变化。也就是说,测策略模式让一个类的行为可以在运行时被改变,从而实现不同的业务逻辑。是一种行为设计模式,定义了对象之间的一种一对多依赖关系。当一个对象的状态发生变化时,所有依赖于它的对象都会自动得到通知并更新。这种模式常用于实现分布式事件处理系统。
2024-12-01 14:44:08
957
原创 从0开始学PHP面向对象内容之常用设计模式(组合,外观,代理)
1、核心思想:为复杂系统提供一个统一的高层接口,使得客户端可以通过该接口访问子系统,而无需直接与子系统交互2、主要目的:降低系统的复杂性,提高系统的可维护性和易用性1、核心思想:代理对象是实际对象的代表,负责对真实对象的访问或操作,同时可以添加额外的功能2、主要目的:控制访问,性能优化或者为对象提供附加功能。代理模式与其他模式的对比。
2024-11-25 12:06:54
1158
原创 从0开始学PHP面向对象内容之常用设计模式(适配器,桥接,装饰器)
适配器模式是一种结构型设计模式,用于将一个类的接口转换为另一个接口,以满足客户端的使用需求,它允许本来由于接口不兼容而不能一起工作的类可以协同工作。桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化。它的核心思想是使用组合而非继承来解决类的多维度变化问题。装饰器模式是一种结构型设计模式,它允许动态地向对象添加新功能,而不需要修改对象地定义或使用继承,装饰器模式使用一种对象包装另一种对象地方式,为被包装对象提供额外地功能桥接模式适配器模式装饰器模式对比。
2024-11-24 13:48:03
915
原创 从0开始学PHP面向对象内容之常用设计模式(建造者,原型)
建造者模式是一种非常灵活且结构化的模式,适合用于复杂对象的创建,尤其当对象包含多个部分且构造顺序很重要时。通过将构造细节隐藏在 Builder 和 Director 内部,建造者模式为开发者提供了更高层次的代码抽象,极大地提升了代码的维护性和可扩展性。优点:1、清晰的构建过程:将复杂对象的创建步骤分开,逻辑清晰。2、高度可扩展:可以通过添加新的具体建造者来构造不同的产品。3、提高复用性:构建步骤可以被不同的建造者复用。缺点:增加了类的数量:每种具体产品需要对应一个具体建造者。
2024-11-19 15:54:44
1297
原创 从0开始学PHP面向对象内容之常用设计模式(单例,工厂)
工厂模式是最常用的设计模式之一,它通过解耦对象创建过程和使用过程,提高了代码的灵活性和可维护性。在实际应用中,选择哪种工厂模式取决于对象创建的复杂度和扩展性需求。使用场景对比。
2024-11-18 11:15:39
824
原创 从0开始学PHP面向对象内容之(常用魔术方法续二)
_toString() 是 PHP 提供的一个强大工具,用于在字符串上下文中提供对象的自定义表示。它适合用于打印、日志记录、模板渲染等场景。通过合理的实现,可以提高代码的可读性和调试的便利性,但要注意性能和安全性。这里是引用__autoload() 是一个自动加载器函数,当访问一个尚未加载或未定义的类时会被调用。// 根据类名包含对应的文件$className:被访问的类的名称。__autoload() 是一个简单的自动加载机制,但由于其单一性和扩展性不足已被弃用。
2024-11-13 11:11:44
848
原创 从0开始学PHP面向对象内容之(常用魔术方法续一)
上期我们讲到几个常用的魔术方法,但是由于篇幅过程且全是文字性质地东西,就没写完,篇幅太长也会丧失阅读兴趣,我尽量控制一篇文章在5000字左右。
2024-11-12 14:19:34
1029
原创 从0开始学PHP面向对象内容之(常用魔术方法)
PHP中的魔术方法是以__两个下划线开头的方法,这些方法提供了一种机制,可以在类的生命周期中拦截某些事件或者进行一些操作__call():当调用一个对象中不存在或不可访问的方法时触发__callStatic():当调用一个类中不存在或不可访问的静态方法时触发。示例:应用场景:实现动态代理实现多态行为日志记录与监控简化 API 客户端设计实现通用调用处理三、__get()&&__set()__get(): 试图读取不可访问或不存在的属性时调
2024-11-11 18:48:02
892
原创 从头开始学PHP之面向对象
面向对象是一种编程的思想和方法,它将程序设计中的数据和操作方法封装在一起形成”对象“,并通过对象之间的交互和消息传递来完成程序的功能。封装(Encapsulation):指将对象的属性和方法封装在一起,使得外部无法直接访问和修改对象的内部状态(这点和变量的作用域很像)。通过使用访问控制修饰符(public private protected)来限制属性和方法(函数)的访问权限,从而实现封装。
2024-11-02 10:47:27
1134
原创 从头学PHP之数组输出&基本函数
上期我们讲到了数组,数组是个特殊的变量,在程序中的重要程度很高,大部分数据处理的时候会用到这种特殊的变量,那么现在让我们继续深入一下吧。上期我们打印出了数组的值,用print_r()或者var_dump()这俩函数,在本期中会涉及到用循环输出数组的所有元素,和用特定的key值来获取指定元素。
2024-10-27 16:48:39
759
原创 从头学PHP之流程控制
冒泡排序(BubbleSort)是一种简单的排序算法,其基本思想是通过多次遍历待排序的数列,比较相邻元素的值,并在必要时交换它们的位置,从而将最大的元素逐步“冒泡”到数列的末尾。这个过程会重复进行,直到整个数列有序为止。
2024-10-26 13:06:40
1277
原创 从头学PHP之运算符
一、运算符本篇文章我们将粗略的讲解在PH中不同运算符的应用主要分为几大类。关于运算符的图片均来自网络,主要是自己写太麻烦了,程序是个简化自己工作量的方式,能复制粘贴就不要手写了(建议初期还是多写写,加深下记忆)在这里我就偷个懒,图片涉及到侵权及时,请通知我修改。一、算术运算符算数运算符很好理解,就是我们在小学数学中学到的加减乘除,取余,取反,设置负数,并置(连接符)这里偷个懒(图片数据来源于网络)代码示例<!DOCTYPE html><html> <bo
2024-10-24 20:56:19
734
原创 从零开始学PHP之函数
函数在定义取函数名时应该提示出函数的相关功能函数名应该以字母或者下划线开头(不能以数字开头)函数定义的关键字function、函数名functionName 、参数、函数体。
2024-10-23 20:31:05
703
原创 从零开始学PHP之变量作用域&数据类型
上篇文章提到了数据类型,在PHP中支持以下几种类型下面我们用PHP种var_dump打印数据来查看数据类型。
2024-10-21 21:30:04
1264
原创 重新整理,再出发!
既然失业已经这么久了,就别再焦虑了,老天饿不死瞎家雀,干啥不是干,填饱肚子再说,毕竟从业这么多年,原本就不是科班出身,一直停留在curd,不妨停下来,静一静,思考下以后的路。
2024-10-19 12:58:36
217
原创 session与cookie的区别
2、安全性:由于Cookie存储在客户端,它可能容易受到跨站脚本攻击(XSS)等安全威胁,相比之下,Session因为数据存储在服务器上,通常被认为更安全。4、生命周期:Cookie可以设置过期时间,即使浏览器关闭数据也不会丢失,而Session会在一定时间内保存在服务器上,通常由服务器的配置决定,如30分钟无操作则过期。3、数据大小:Cookie的大小一般限制在4KB左右,适合存储小量信息,而Session则没有明确的大小限制,受服务器内存限制。
2024-05-11 13:05:17
256
原创 异步调用-php
class Asynchronous{ public function async($url){ $host = parse_url($url,PHP_URL_HOST); $port = parse_url($url,PHP_URL_PORT); $port = $port ? $port : 80; $scheme = parse_url($url,PHP_URL_SCHEME); $path = parse_ur
2022-04-19 17:17:58
155
转载 php5与php7版本区别之标量类型与返回值类型声明
标量类型声明默认情况下,所有的PHP文件都处于弱类型校验模式。PHP 7 增加了标量类型声明的特性,标量类型声明有两种模式:强制模式 (默认)严格模式标量类型声明语法格式:declare(strict_types=1);代码中通过指定 strict_types的值(1或者0),1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。可以使用的类型参数有:intfloatboolstringintfacesarraycallable强制模式实例<
2022-01-04 11:17:57
229
原创 微服务,中间件,组件概念及区别
微服务微服务是一种用于构建应用的架构方案。微服务是松散耦合的分布式架构框架,因此一个团队的更改不会破坏整个应用。使用微服务的好处是,开发团队能够快速构建应用的新组件,以满足不断变化的业务需求举例:ZeroC Ice Grid、Dubbo、Spring Cloud中间件定义:中间件(英语:Middleware),又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系
2021-12-22 17:10:07
12916
原创 Beego generate命令
生成api框架模式bee api appName -driver=mysql -conn="root:password@tcp(localhost:3306)/test根据命令生成文件和数据库 bee generate scaffold user -fields="id:int64,name:string,gender:int,age:int" -driver=mysql -conn="root:root@tcp(127.0.0.1:3306)/gotest"scaffold:脚手架user
2021-07-14 11:08:25
787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人