摘要: 序列化与反序列化 概念 在PHP中,数组和对象无法保存 如果需要保存就要将数组或对象转换成一个序列 序列化 (serialize) 将数组或对象转换成一个序列 反序列化 (unserialize) 将序列化的字符串转换成数组或对象 数组的序列化与反序列化 # 数组的序列化 <?php $stu= [ 阅读全文
posted @ 2020-12-10 20:22 wing1377 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 设计模式 单例模式 概念 一个类只能有一个对象 应用场景 多次请求数据库只需要一个连接对象 实现:三私一公 私有的静态属性用来保存对象的单例 私有的构造方法用来阻止在类的外部实例化 私有的__clone阻止在类的外部clone对象 公有的静态方法用来获取对象的单例 <?php //三私一公 clas 阅读全文
posted @ 2020-12-10 20:20 wing1377 阅读(95) 评论(0) 推荐(0) 编辑
摘要: clone和__clone() 创建对象的方式有哪些? 方法一:实例化 方法二:克隆 概念 clone是创建对象的方法之一 当执行clone指令的时候,会自动的调用__clone()方法 <?php class Student { static private $name; //执行clone指令的 阅读全文
posted @ 2020-12-10 20:18 wing1377 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 自动加载类 概念 在项目开发中,因为一个文件中只能写一个类 并且在执行过程中会有很多的类参与 如果一个一个的加载很麻烦 所以,就需要一个机制实现在PHP执行过程中自动加载需要的类 类的规则 一个文件中只能放一个类(必须) 文件名和类名同名(必须) 类文件以.class.php结尾(不是必须) 手动加 阅读全文
posted @ 2020-12-10 20:17 wing1377 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 异常处理 概念 集中处理在代码块中发生的异常 在代码块中发生了异常直接抛出,代码块中不处理异常,将异常集中起来一起处理 使用的关键字 try 监测代码块 catch 捕获异常 throw 抛出异常,抛出异常后,try块终止执行,执行权限交给catch块 finally 无论有无异常都会执行,可以省略 阅读全文
posted @ 2020-12-10 20:16 wing1377 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 方法绑定 概念 将方法绑定到对象上并调用 在PHP中匿名函数称为闭包 语法 闭包函数->call(对象) 将闭包函数绑定到对象上并调用 <?php $lang='en'; //类 class Student{ } //匿名函数 if($lang=='ch'){ $fun= function(){ e 阅读全文
posted @ 2020-12-10 20:14 wing1377 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 匿名类 概念 如果类只被实例化一次就可以使用匿名类 好处是在执行的过程中,类不占用空间 <?php $stu= new class { public $name='tom'; public function __construct() { echo '构造函数<br>'; } }; echo $st 阅读全文
posted @ 2020-12-10 20:12 wing1377 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 类常量 概念 类常量是const常量 <?php class Student { public const ADD= '幸福里1号'; //7.1以后才支持访问修饰符 // const ADD='地址不详'; } echo Student::ADD; ?> define常量和const常量的区别 c 阅读全文
posted @ 2020-12-10 20:08 wing1377 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 方法修饰符 方法修饰符有 static final abstract static 静态的 概念 static修饰的属性叫静态属性 static修饰的方法叫静态方法 静态成员加载类的时候分配空间,程序执行完毕后销毁 静态成员在内存中就一份 调用语法 类名::属性 类名::方法名() <?php cl 阅读全文
posted @ 2020-12-10 20:07 wing1377 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 私有属性继承和重写 说明 私有属性可以继承但不能重写 私有-受保护 代码分析(私有-受保护) showA()和showB()中的$this都表示B的对象,B中继承了A的私有属性,所以B中有两个$name 在showA()中只能访问A中的$name,不能访问B中的$name 在showB()中只能访问 阅读全文
posted @ 2020-12-10 20:03 wing1377 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 面向对象三大特性 特性 封装 继承 多态 多态 多态分为两种:方法重写和方法重载 方法重写 子类重写了父类的同名的方法 子类的方法必须和父类的方法同名 参数个数要一致 子类修饰的不能比父类更加严格 <?php class A{ protected function say($name){ echo 阅读全文
posted @ 2020-12-10 20:00 wing1377 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 继承 介绍 继承使得代码具有层次结构 子类继承了父类的属性和方法,实现了代码的可重用性 使用extends关键字实现继承 父类和子类是相对的 语法 class 子类 extends 父类 { } 执行过程 第一步:在Student类中查找show(),如果找到就调用,找不到就到父类中查找 第二步:在 阅读全文
posted @ 2020-12-10 19:58 wing1377 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 析构方法 语法 当对象销毁的时候自动调用 析构函数不可以带参数 function __destruct(){ } <?php class Student { private $name; //构造方法 public function __construct($name) { $this->name= 阅读全文
posted @ 2020-12-10 19:56 wing1377 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 构造方法 语法 构造方法也叫构造函数,当实例化对象的时候自动执行 构造函数可以带参数,但不能有return function __construct(){ } # 注意:前面是两个下划线 例题 在其他语言里,与类名同名的函数是构造函数,在PHP中不允许这种写法 <?php class Student 阅读全文
posted @ 2020-12-10 19:54 wing1377 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 封装 说明 封装就是有选择性的提供数据 通过访问修饰符来实现封装 访问修饰符 用来控制成员的访问权限 public(公有的) 在类的内部和外部都能访问 private(私有的) 只能在类的内部访问 protected(受保护的) 在整个继承链上访问 作用 保证数据的合法性 一般来说,属性都用私有的, 阅读全文
posted @ 2020-12-10 19:50 wing1377 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 方法 方法 方法的本质就是函数 方法前面public是可以省略的,如果省略,默认就是public的 <?php class Student { //定义方法 public function show() { echo '这是show方法<br>'; } //public可以省略,如果省略,默认就是p 阅读全文
posted @ 2020-12-10 19:47 wing1377 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 属性 属性 属性本质就是变量 属性前面的public不能省略 通过 → 调用对象的成员 对象名 → 属性名 对象名 → 方法名() <?php //定义类 class Student { public $name; //属性 public $add='地址不详'; //属性 } //实例化对象 $s 阅读全文
posted @ 2020-12-10 19:46 wing1377 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 面向对象介绍 概述 面向对象是一个编程思想。编程思想有面向过程和面向对象 面向过程:编程思路集中的是过程上 面向对象:编程思路集中在参与的对象 好处 多人合作方便 减少代码冗余,灵活性高 代码的可重用性发挥到极致 可扩展性强 名词 OOP:面向对象编程(Object Oriented Program 阅读全文
posted @ 2020-12-10 19:45 wing1377 阅读(171) 评论(0) 推荐(0) 编辑