一起源码网

标题: php中如何实现各种拦截器的思路 [打印本页]

作者: 云文章    时间: 2020-4-16 18:30
标题: php中如何实现各种拦截器的思路
PHP提供了几个拦截器,用于在访问未定义的方法和属性时被调用,当访问未定义的类属性时,__get($property) 会被调用,$property为被访问的属性名。当给未定义的类属性赋值时,__set($property, $value) 会被调用,$property为被赋值的属性名,$value为被赋予的值。

首先下载我们本节课程所需要用到的php中各种拦截器类库:

下载完成之后找到我们需要的php类文件,解压至我们本地目录,创建新的php文件!

完成之后,我们要在新的php文件里调用这类,以及实例化该类:

<?php
include_once "dingyi.php";//引入类文件
$ob = new lanjie();       //实例化
//当我们调用对象$ob未定义的属性g时,调用拦截器__get()方法,输出"g property not found!”;
echo $ob->g;
echo "<br>";


$p = new person(); //实例化
$p->name = 'bob';
//这里我们可以很清楚的看到 , 当给未定义的'name'赋值时 ,  会调用"__set()”
print_r( array( $p ) );
?>

运行此文件,得到结果如下图所示:


作者: 然5121    时间: 2022-9-24 20:58
简单的网站制作代码




欢迎光临 一起源码网 (https://www.171739.xyz/) Powered by Discuz! X3.3