php的魔术常量以及类的模式方法

本文详细介绍了PHP中的魔术方法,包括构造函数、析构函数、序列化及反序列化等方法的应用场景与实现原理。通过一个具体的类定义示例,展示了如何使用这些魔术方法来增强类的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

魔术方法
class
A { const PI = 3.14; static $type = 'type1'; public $a1='a1'; public function fun1(){ var_dump('我是fun1'); } public $a2='a2'; protected function fun2(){ var_dump('我是fun1'); } public $a3='a3'; private function fun3(){ var_dump('我是fun1'); } final function fun4(){ //最终方法 子级不可覆盖 } function __construct() //构造函数 实例化对象时调用 { var_dump(self::PI); } function __get($name)//获取对象不存在的属性是执行 { // TODO: Implement __get() method. } function __set($name, $value)//设置对象不存在的属性是执行 { // TODO: Implement __set() method. } function __isset($name)// { // TODO: Implement __isset() method. } function __unset($name) { // TODO: Implement __unset() method. } function __call($name, $arguments) //调用对象不存在的方法时调用 { // TODO: Implement __call() method. } function __clone() //克隆对象时调用 { // TODO: Implement __clone() method. } function __destruct()//析构函数 { // TODO: Implement __destruct() method. } function __sleep() //对象序列化时调用 { // TODO: Implement __sleep() method. return arr('a',b); } function __wakeup()//对象反序列化时调用 { // TODO: Implement __wakeup() method. } function __toString()//对象当做字符串使用时 { // TODO: Implement __toString() method. return 'str'; } function __invoke() //对象当做方式是调用 { // TODO: Implement __invoke() method. } } $a=new A();

魔术常量

var_dump(__FILE__) ;
var_dump(__DIR__) ;
var_dump(__LINE__) ;
function fn(){
    echo __METHOD__;
    echo __CLASS__;
}
fn();

 

转载于:https://www.cnblogs.com/aqigogogo/p/9675571.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值