构造函数
特性:实例化对象时调用
作用:通常用于 初始化属性值 或 执行启动时所需的操作
用法:
function __construct($parameter){
$this->attribute = $parameter;
echo '对象已创建并,初始化attribute属性值为parameter';
}
析构函数
特性:对象销毁,或脚本结束时调用
作用:通常用于清理资源如内存和链接,本篇实例用于弹窗提示
用法:
function __destruct(){
echo "脚本已结束";
}
实例
创建scan类,添加三个成员变量。一个成员函数用于输出属性。一个构造函数用于初始化属性值。一个析构函数,函数内使用echo输出script标签,用于弹出弹框。
源码
<?php
header("content-type:text/html;charset=utf8");
class scan{
var $target;
var $address;
var $DesPort;
function task(){
echo $this->target . ' 参数:' . $this->address . $this->DesPort;
}
//构造函数
function __construct($target,$address,$DesPort='all'){
$this->target = $target;
$this->address = $address;
$this->DesPort = $DesPort;
echo '<p> 对象已实例化 </p><hr>';
}
//析构函数
function __destruct(){
echo "<script>alert('析构函数已触发,' + '函数调用已完成')</script>";
}
}
//实例化对象,指定属性值
$one = new scan('win10','192.168.10.1');
//调用对象内方法
$one->task(); //win10 参数:192.168.10.1all
//输出对象属性值
echo '<br>' . $one->target . '<br>'; //win10
echo $one->address; //192.168.10.1
echo '<br>' . $one->DesPort; //all
?>
1.创建scan类并添加成员变量及方法
class scan{
var $target;
var $address;
var $DesPort;
function task(){
echo $this->target . ' 参数:' . $this->address . $this->DesPort;
}
........
}
2.定义构造函数用于接收对象创建时传参,并赋值给对象本身的属性,为DesPort属性设置默认值。
function __construct($target,$address,$DesPort='all'){
$this->target = $target;
$this->address = $address;
$this->DesPort = $DesPort;
echo '<p> 对象已实例化 </p><hr>';
}
3.定义析构函数,于代码或脚本结束后调用。函数内使用echo输出script标签中alert标签,并进行字符串的拼接,用于弹窗提示。
function __destruct(){
echo "<script>alert('析构函数已触发,' + '函数调用已完成')</script>";
}
4.实例化对象,并传入参数
$one = new scan('win10','192.168.10.1');
5.调用对象内方法
$one->task(); //win10 参数:192.168.10.1all
6.输出对象属性值
echo '<br>' . $one->target . '<br>'; //win10
echo $one->address; //192.168.10.1
echo '<br>' . $one->DesPort; //all