首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
时间日期概述
关于UNIX时间戳
获取当前时间戳
获取当前日期和时间
使用时间戳获取日期信息
检验日期的有效性
输出格式化时间戳的日期和时间
显示本地化的日期和时间
将日期和时间解析为UNIX时间戳
PHP和MySQL之间的转换
实战演练1—比较两个时间的大小
实战演练2—实现倒计时功能
类和对象的介绍
PHP中类的操作
成员属性
成员方法
类的实例化
访问类中的成员属性和方法
构造方法和析构方法
访问方法
类的继承
静态属性和方法
final类和方法
抽象类
接口
面向对象的多态性
匿名类
PHP 8的新变化1—使用Attributes(注解)
PHP 8的新变化2—支持static返回类型
PHP 8的新变化3—新增WeakMap特性
PHP 8的新变化4—提升构造器属性
PHP 8的新变化5—空安全运算符
PHP 8的新变化6—新增Stringable接口
PHP 8的新变化7—重写方法时允许可变参数
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(4)
小册名称:PHP8入门与项目实战(4)
构造方法存在于每个声明的类中,主要作用是执行一些初始化的任务。如果类中没有直接声明构造方法,那么类会默认生成一个没有参数且内存为空的构造方法。 在PHP中,声明构造方法的方法有两种,在PHP 5版本之前,构造方法的名称必须与类名相同,这种构造方法的风格在PHP 8中已经被弃用。 从PHP 5版本开始,构造方法的名称必须以两个下划线开头,即“__construct”。具体的语法格式如下: ```php function __construct([mixed args]){ //方法的内容 } ``` 一个类只能声明一个构造方法。构造方法中的参数是可选的,如果没有传入参数,就使用默认参数为成员变量进行初始化。 在例8.1中,对实例$xiaoming的属性$name进行赋值,还需要通过使用接口setname($name)进行操作,如$xiaoming->setname("XiaoMing")。如果想在生成实例$xiaoming的同时就对此实例的属性$name进行赋值,该怎么办呢? 这时就需要构造方法“_construct()”了。这个函数的特性是,当通过关键字new生成实例的时候,它就会被调用执行。它的用途就是经常对一些属性进行初始化,也就是给一些属性进行初始化的赋值。 下面通过实例介绍构造方法的使用方法和技巧。 【例8.2】 ![](/uploads/images/20231208/223d549e9e1a75995c5f4e4c9f9e2145.png) 运行结果如图8-2所示。 ![](/uploads/images/20231208/41afaf6e99e18202f58a1526f7f37ea6.png) 要记住的是,构造方法是不能返回(return)值的。 有构造方法,就有它的反面“析构方法”(destructor)。它是在对象被销毁的时候被调用执行的。但是因为PHP在每个请求的最终都会把所有资源释放,所以析构方法的意义是有限的。具体使用的语法格式如下: ```php function__destruct(){ //方法的内容,通常完成一些在对象销毁前的清理任务 } ``` PHP具有垃圾回收机制,可以自动清除不再使用的对象,从而释放更多的内存。析构方法是在垃圾回收程序执行前被调用的方法,是PHP编程中的可选方法。 析构方法在执行某些特定行为时还是有用的,比如在对象被销毁时清空资源或者记录日志信息。 在以下两种情况下,析构方法可能被调用执行。 ·代码运行时,当所有对于某个对象的reference(引用)被毁掉的情况下。 ·当代码执行到最后并且PHP停止请求的时候调用destructor函数。
上一篇:
访问类中的成员属性和方法
下一篇:
访问方法
该分类下的相关小册推荐:
Laravel(10.x)从入门到精通(十七)
PHP合辑1-基础入门
Magento零基础到架构师(库存管理)
Yii2框架从入门到精通(上)
Laravel(10.x)从入门到精通(十五)
Magento2后端开发高级实战
Laravel(10.x)从入门到精通(十三)
PHP程序员面试笔试真题与解析
Laravel(10.x)从入门到精通(十)
Magento零基础到架构师(安装篇)
全面构建Magento2电商系统
Laravel(10.x)从入门到精通(十六)