博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
魔术方法小记
阅读量:2305 次
发布时间:2019-05-09

本文共 2273 字,大约阅读时间需要 7 分钟。

"; // echo __CLASS__ . "
"; // echo __METHOD__ . "
"; $this->_name = $name; } public function __destruct() {
echo '__destruct' . "
"; } public function __get($name) {
echo '__get' . "
"; if (array_key_exists($name, $this->data)) { return $this->data[$name]; } $trace = debug_backtrace(); trigger_error( 'Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE); return null; } public function __set($name, $value) {
echo '__set' . "
"; $this->data[$name] = $value; } public function __isset($name) {
echo '__isset' . "
"; return isset($this->data[$name]); } public function __unset($name) {
echo '__unset' . "
"; unset($this->data[$name]); } public function __call($name, $arguments) {
// 注意: $name 的值区分大小写 /*echo "Calling object method '$name' " . implode(', ', $arguments). "\n";*/ $className = '_' . $name; $this->$className(); } private function _getName() {
echo 'call _getName' . "
"; } public static function __callStatic($name, $arguments) {
// 注意: $name 的值区分大小写 echo "Calling static method '$name' " . implode(', ', $arguments). "\n"; } public function __sleep() {
return array('server', 'username', 'password', 'db'); } public function __wakeup() {
$this->connect(); } public function __toString() {
echo 'call __toString' . "
"; return $this->_name . "
"; } //当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。 function __invoke($x) {
var_dump($x); } public function __debugInfo() {
return [ 'propSquared' => $this->_name, ]; }}

调用文件

a);echo "
";unset($mag->a);var_dump(isset($mag->a));echo "
";*//*$mag->getName();echo "
";magic::getName();echo "
";*///测试__toString// echo $mag;// $mag(5);// echo "
";// var_dump(new magic('jack'));// echo "
";//魔术常量// echo __LINE__;// echo __FILE__;// echo __DIR__;// echo __NAMESPACE__;

转载地址:http://rksib.baihongyu.com/

你可能感兴趣的文章
superblock,dentry,inode浅析(译转)
查看>>
key-value数据库
查看>>
ceph学习(一)——数据结构
查看>>
文件系统性能测试工具
查看>>
/proc/sys/vm/优化
查看>>
linux系统性能调优第一步——性能分析(vmstat)
查看>>
kswapd0 swap管理器,kjournald ext3日志进程,pdflush
查看>>
MongoDB vs Redis vs Tokyo Tyrant
查看>>
debug日志
查看>>
makefile学习笔记
查看>>
系统rm的处理机制
查看>>
/proc/sys/vm参数(转)
查看>>
valgrind是个好工具
查看>>
配置samba服务器
查看>>
重启系统
查看>>
bigtable笔记
查看>>
tfs文件系统笔记
查看>>
存储系统元数据性能优化笔记(一)
查看>>
debian命令集(一)
查看>>
debian源配置
查看>>