php反序列化--前置知识

🎼个人主页:金灰

😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨

专注网络空间安全服务,期待与您的交流分享~

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~

免责声明:本文仅做分享...

目录

类与对象

属性的权限-划分:

类的继承:

例:

方法的属性修饰符:

方法的修饰:

static修饰

final修饰

类的分类:

1 普通类 没有任何修饰

2 抽象类

3 接口 interface

4 trait

5 匿名类


类与对象

//用户类--属性和方法的集合
class  user{public $username;  //共有属性private $password; //私有属性//公共方法public login(){echo $this->password;}//公共方法public logout(){}}
// ------------
class  user{public $username;  //共有属性private $password; //私有属性protected $userType;public static $platform="ctf";//公共方法public login(){echo $this->password;}//公共方法public logout(){}}

类的定义,我们可以认为是设计图.

类的对象-
//实例化一个类 --> 从设计图转换为一个可以用的变量,变量类型不再是字符串或者数字,而是一个对象.
$u = new user(); 每个对象中,静态属性值,不变
$p = new user();$u->username;
$p->username;
//外部不能直接引用password		 (private $password; //私有属性

类和对象的关系,类似于  设计图(蓝图) 与 生成出的产品 之间的关系.
一个设计图(类)-->多个产品(对象)

属性的权限-划分:

1 public 权限 外部可以通过箭头访问到
2 private 权限 内部通过 $this->username 访问到
3 protected 权限 表示 自身及其子类 和父类 能够访问

类的继承:

例:

普通用户    vip用户   管理员用户
-->都属于user类  
//通过extends直接继承(获得)类的内容
class normalUser extends user{public $score;public function play(){echo  $this->userType;}
}
$n = new normalUser();----------
class vipUser extends user{public $score;
}----------
class adminUser extends user{public $score;
}

方法的属性修饰符:

public 
private
protected

方法的修饰:

静态属性   static   //一旦修饰为静态,就写死了,不能改. --修饰方法的话,直接通过类名调用.
final属性   final   //修饰方法时,父类的方法>子类的方法. 

static修饰

 


 

final修饰

class  user{public $username;  //共有属性private $password; //私有属性protected $userType;public static $platform="ctf";public function __construct($username,$password){  //类的构造方法$this->username = $username;$this->password = $password;}//公共方法public final function login(){echo $this->password;}//公共方法public function logout(){}}
class normalUser extends user{public $score;public function play(){echo  $this->userType;}
}
public function login(){echo "i am normalUser";
}
//类的静态方法
public static function go(){
echo "gogoog!";
}
}
$n = new normalUser("admin","admin666");
$n->login();$n = new normalUser("admin","admin666");
$n->login();


类的分类:

1 普通类 没有任何修饰

class user{public function login(){}public function logout(){}
}

2 抽象类

// 类里面有一个abstract方法就是抽象类.(只定义无内容)
abstract class user{  //对类也进行标识.public function login(){}public function logout(){}abstract function play();
}类里面的方法,有些是有详细的实现,有些就只有个方法名字,没具体实现.
抽象类 不能被 new 也就是不能被直接 实例化对象.
-> 在父子类中,父类用的抽象方法,子类就必须要声明其方法的实现,
--不想实现的话,子类就把自己也变成抽象类(抽象方法)

3 接口 interface

(所有方法都是抽象方法时就不需要写abstract )
接口-->为了实现多继承效果class xxx extends user implements 接口   // 可以实现多个接口interface service1(){}
interface service2(){}class xxx extends user implements service1,service2{}

4 trait

(php5.4之后)
可以认为是代码段 ,方便复制粘贴
// 用于普遍操作,
//一般不涉及类的属性的读取操作--不使用属性
trait math{function add(){}function mub(){}}    class xxx(){use math; 
}    

5 匿名类

不打算用/用1次..
//一次性匿名类的例子(类名都不配拥有,给你个属性直接调用)
$v->play(new class{public $username="我是匿名类";
});$a = new class{public $name="1";public $passwd="大";
}
//类似于 data伪协议.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383702.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第274题H指数

题目&#xff1a; 题解&#xff1a; func hIndex(citations []int) int {// 答案最多只能到数组长度left,right:0,len(citations)var mid intfor left<right{// 1 防止死循环mid(leftright1)>>1cnt:0for _,v:range citations{if v>mid{cnt}}if cnt>mid{// 要找…

【人工智能】Transformers之Pipeline(四):零样本音频分类(zero-shot-audio-classification)

​​​​​​​ 目录 一、引言 二、零样本音频分类&#xff08;zero-shot-audio-classification&#xff09; 2.1 概述 2.2 意义 2.3 应用场景 2.4 pipeline参数 2.4.1 pipeline对象实例化参数​​​​​​​ 2.4.2 pipeline对象使用参数 2.4 pipeline实战 2.5 模…

linux ftp操作记录

一.ftp 创建用户 passwd: user ftpuser does not exist 如果你遇到 passwd: user ftpuser does not exist 的错误&#xff0c;这意味着系统中不存在名为 ftpuser 的用户。你需要首先确认FTP用户是否是系统用户&#xff0c;还是FTP服务器软件&#xff08;如Pure-FTPd&#xff…

系留无人机在技术上有哪些优势或创新点

系留无人机在技术上具有显著的优势和创新点&#xff0c;主要体现在以下几个方面&#xff1a; 1. 长航时飞行作业&#xff1a; - 系留无人机系统由地面通过市电、发电机或电池组供电&#xff0c;并通过系留线缆将电力传输至无人机&#xff0c;实现了不间断供电。 - 这种供电方式…

【数据分享】2008-2022年我国省市县三级的逐日NO2数据(excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据&#xff01;之前我们给大家分享了2000-2022年的省市县三级的逐日PM2.5数据、2013-2022年的省市县三级的逐日CO数据和2013-2022年的省市县三级的逐日SO2数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01; 本次…

【C语言】 二叉树创建(结构体,先序遍历,中序遍历,后续遍历)

二叉树的创建&#xff1a;首先先定义一个结构体&#xff0c;里面包含数据&#xff08;data&#xff09;&#xff0c;指向左子树的指针&#xff08;L&#xff09;&#xff0c;指向右子树的指针&#xff08;R&#xff09;三个部分 在创建树的函数中&#xff0c;首先先输入…

项目的小结

1.实现实时聊天 1.服务端建立一个ConcurrentHashMap<> 用来存储在线用户&#xff0c;用户账号和socket然后&#xff0c;如果有个人发了信息&#xff0c;就去数据库中查询&#xff0c;然后根据这个在线用户进行传递信息 服务端框架&#xff1a; public class ServerMain {…

C语言 | Leetcode C语言题解之第290题单词规律

题目&#xff1a; 题解&#xff1a; typedef struct node_t {char *key;char *value;struct node_t* pnext; }NODE_T;typedef struct hash_t {NODE_T** hash_list;int size; }HASH_T;HASH_T *hash_init(int size) {HASH_T *hash (HASH_T *)malloc(sizeof(HASH_T));if(NULL h…

搭建本地私有知识问答系统:MaxKB + Ollama + Llama3 (wsl网络代理配置、MaxKB-API访问配置)

目录 搭建本地私有知识问答系统:MaxKB、Ollama 和 Llama3 实现指南引言MaxKB+Ollama+Llama 3 Start buildingMaxKB 简介:1.1、docker部署 MaxKB(方法一)1.1.1、启用wls或是开启Hyper使用 WSL 2 的优势1.1.2、安装docker1.1.3、docker部署 MaxKB (Max Knowledge Base)MaxKB …

近期代码报错解决笔记

1.TypeError: ‘bool’ object is not callable 想print("Type of head:", type(entity_emb[head]))&#xff0c;结果报如下错误&#xff1a; 源代码&#xff1a; 因为 print 仍然被当作一个布尔值处理&#xff0c;而不是作为函数调用。这个问题的根源在于 print …

将YOLOv8模型从PyTorch的.pt格式转换为TensorRT的.engine格式

TensorRT是由NVIDIA开发的一款高级软件开发套件(SDK)&#xff0c;专为高速深度学习推理而设计。它非常适合目标检测等实时应用。该工具包可针对NVIDIA GPU优化深度学习模型&#xff0c;从而实现更快、更高效的运行。TensorRT模型经过TensorRT优化&#xff0c;包括层融合(layer …

2024最新版虚拟便携空调小程序源码 支持流量主切换空调型号

产品截图 部分源代码展示 urls.js Object.defineProperty(exports, "__esModule", {value: !0 }), exports.default ["9c5f1fa582bee88300ffb7e28dce8b68_3188_128_128.png", "E-116154b04e91de689fb1c4ae99266dff_960.svg", "573eee719…

Sqli-labs-master的21—25通关教程

目录 Less-21(闭合) 查询数据库名 查询数据库中的表 查询表中字段名 查询表中数据 Less-22&#xff08;"闭合&#xff09; 查询数据库名 查询数据库中的表 查询表中字段名 查询表中数据 Less-23 查询数据库名 查询数据库中的表 查询表中字段名 查询表中数据…

Docker核心技术:Docker的基本使用

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Docker核心技术 系列文章&#xff1a;Docker的基本使用&#xff0c;其他文章快捷链接如下&#xff1a; 应用架构演进容器技术要解决哪些问题Docker的基本使用&#xff08;本文&#xff09;Docker是如何实现的 3…

14.死信队列

介绍 死信就是无法被消费的消息。生产者将消息投递给broker或者直接到队列里&#xff0c;消费者从队列中取出消息进行消费。但是某些时候由于特定的原因导致queue中的某些消息无法被消费&#xff0c;这样的消息如果没有后续处理&#xff0c;就变成了死信。有死信自然就有死信队…

【C++跬步积累】—— list模拟实现(含源代码,超详细)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;C跬步积累 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日一题 &#x1f7e1; Linux跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0…

【AIGC】构建自己的谷歌搜索引擎服务并使用

一、谷歌 谷歌的搜索引擎需要自己创建服务才能启用检索api。&#xff08;需自行翻墙和创建自己的谷歌账号&#xff09; 1.1 API服务创建 1&#xff09;登陆https://console.cloud.google.com/: 2&#xff09; 选择新建项目&#xff0c;取号项目名即可&#xff08;比如:Olin…

arinc664总线协议

AFDX总线协议简介 &#xff08;1&#xff09;AFDX的传输速率高&#xff1a;带宽100MHZ&#xff0c;远远高于其他的类型的航空总线。&#xff08;2&#xff09;AFDX网络的鲁棒性高&#xff1a;AFDX的双冗余备份网络可以在某一个网络出现故障时&#xff0c;仍能正常通讯。 其中…

IP数据报结构详解:从基础到进阶

目录 IP数据报的格式 IP数据报首部的固定部分 IP数据报首部的可变部分 实例分析&#xff1a;数据报的分片 生存时间&#xff08;TTL&#xff09;与协议 首部检验和 总结 在网络通信中&#xff0c;IP数据报是至关重要的基本单元。本文将带您深入了解IP数据报的格式及其各个…

聚焦保险行业客户经营现状,概述神策数据 CJO 解决方案

触点红利时代&#xff0c;企业的经营需求从「深度的用户行为分析」转变为「个性化、全渠道一致的客户体验」。客户旅程编排&#xff08;Customer Journey Orchestration&#xff0c;简称 CJO&#xff09;从体验出发&#xff0c;关注客户需求、感受和满意度&#xff0c;能够帮助…