简介
在很多脚本类语言中都是有魔术方法的,就比如php、python。虽然之前也知道,但是并不是专业的所以并不了解。
在typecho
插件开发过程中又用到魔术方法,故将常用的魔术方法记录于此。
详解
php魔术方法
__construct() | 类的构造方法,在创建对象时自动调用。 |
---|---|
__destruct() | 类的析构方法,在对象即将被销毁时自动调用。 |
__get($property) | 获取类中不存在或不可访问属性时自动调用。 |
__set($property, $value) | 给类中不存在或不可访问属性赋值时自动调用。 |
__isset($property) | 当对不可访问属性使用 isset() 或 empty() 函数时自动调用。 |
__unset($property) | 当对不可访问属性使用 unset() 函数时自动调用。 |
__call($method, $arguments) | 调用类中不存在或不可访问方法时自动调用。 |
__toString() | 将对象作为字符串使用时自动调用。 |
__clone() | 对象复制时自动调用。 |
python魔术方法
__init__(self, ...) | 类的构造方法,在创建对象时自动调用。 |
---|---|
__del__(self) | 对象被销毁时自动调用的析构方法。 |
__str__(self) | 将对象转换为字符串时自动调用。 |
__repr__(self) | 返回对象的字符串表示形式,主要用于调试目的。 |
__len__(self) | 返回对象的长度。 |
__getitem__(self, key) | 获取指定键值的元素。 |
__setitem__(self, key, value) | 设置指定键值的元素。 |
__delitem__(self, key) | 删除指定键值的元素。 |
__iter__(self) | 返回一个可迭代对象,用于在循环中迭代。 |
__next__(self) | 在迭代器中返回下一个元素。 |
__contains__(self, item) | 判断某个元素是否存在于对象中。 |
__call__(self, ...) | 当对象被调用时触发,使对象可像函数一样使用。 |