首页 » PHP教程 » php若何自动触发技巧_PHP进修第十六课魔术方法触发的实例

php若何自动触发技巧_PHP进修第十六课魔术方法触发的实例

访客 2024-12-10 0

扫一扫用手机浏览

文章目录 [+]

本日演示一下昨天的内容,魔术方法是如何进行触发的,先来截图感想熏染下。

代码demo

php若何自动触发技巧_PHP进修第十六课魔术方法触发的实例

完全代码的实行结果

php若何自动触发技巧_PHP进修第十六课魔术方法触发的实例
(图片来自网络侵删)

<?php

/

Created by PhpStorm.

User: PHP学习坊

Date: 17/2/28

Time: 下午9:54

/

class Magic

{

/

Magic constructor. 布局函数,自动实行

/

public function __construct()

{

echo \"大众我是布局函数,在类实例化的时候,我会自动实行\n\公众;

}

/

@param $name 要访问的变量

访问一个不存在的成员变量自动触发

/

public function __get($name)

{

echo \"大众我访问了一个不存在的成员变量{$name}\n\"大众;

}

/

@param $name 变量名

@param $value 变量值

为一个不存在的成员变量赋值,自动触发

/

public function __set($name, $value)

{

echo \公众为不存在的成员变量 {$name} 赋值 {$value} \n\"大众;

}

/

@param $name 方法名

@param $arguments 参数

调用一个不存在的方法是触发

/

public function __call($name, $arguments)

{

echo \公众我调用了不存在的方法{$name},参数是\公众.implode( ',' , $arguments ).\"大众\n\"大众;

require_once 'A.php';

}

/

工具被克隆时触发

/

public function __clone()

{

echo \"大众工具被克隆时触发\n\"大众;

}

/

@return string

考试测验echo一个工具时触发

/

public function __toString()

{

return \"大众我是__toString,考试测验echo一个工具时触发\n\"大众;

}

/

工具销毁时触发

/

public function __destruct()

{

echo \"大众我是析构函数,工具销毁时触发\n\"大众;

}

public static function __callStatic( $name, $arguments )

{

echo \"大众我调用了不存在的静态方法{$name},参数是\公众.implode( ',' , $arguments ).\"大众\n\公众;

}

}

$magic = new Magic(); //触发__construct

$magic->test; //触发__get

$magic->test = 'test'; //触发__set

$magic->test( 'a' , 'b' , 'c' ); //触发__call

$a = new A(); //触发__autoload

/

@param $class 类名

试图实例化一个不存在的类时候触发

/

function __autoload( $class )

{

echo \"大众试图实例化类{$class},但是类不存在,我可以考试测验从其他地方加载类A\n\"大众;

}

$a = clone $magic; //触发__clone

echo $magic; //触发__toString

Magic::test(); //触发__callStatic

?>

以上便是昨日内容的一些代码示例,这里只是演示,既然特定情形下,能触发指定的魔术方法,我们自然可以做一些我们须要的操作,这便是他们被称为魔术方法的缘故原由。

以上是本日的内容。

标签:

相关文章

php中sum用法技巧_PHP 函数详解

PHP 用户定义函数除了内建的 PHP 函数,我们可以创建我们自己的函数。函数是可以在程序中重复利用的语句块。页面加载时函数不会立...

PHP教程 2024-12-16 阅读0 评论0

php交流暂时变量技巧_PHP交换两个变量值

下面我们就通过详细的代码示例,给大家先容PHP交流两个变量值的方法。首先大家要知道交流两个变量便是指相互交流变量的值。常日,这是通...

PHP教程 2024-12-16 阅读0 评论0

大数据时代下的菲菲,创新与变革的见证者

随着信息技术的飞速发展,大数据已成为我国经济社会发展的重要战略资源。在这个时代背景下,菲菲这位年轻的创新者,凭借敏锐的洞察力和勇于...

PHP教程 2024-12-16 阅读0 评论0