<?php namespace App\Http\Controllers\Study; use App\Http\Controllers\Controller; class MagicController extends Controller { public $public; private $private; private static $instance=0; public function __construct() { echo '执行__construct<br/>'; } public function __destruct() { echo '执行__destruct<br/>'; } public function __call($method, $parameters) { echo '__call:执行了一个不存在的方法:' . $method . '参数(json格式):' . json_encode($parameters) . '<br/>'; } public function __toString() { return '__toString:方法用于一个类被当成字符串时应怎样回应<br/>'; } public function __invoke($x) { echo '__invoke:当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用<br/>'; } public static function __callStatic($name, $arguments) { echo '__callStatic:访问了一个不存在的静态方法:' . $name . '参数(json格式):' . json_encode($arguments) . '<br/>'; } public function __set($name, $value) { echo "__set:在给不可访问属性:{$name}赋值为:{$value}时,__set() 会被调用<br/>"; } public function __get($name) { echo "__get:在读书不可访问属性:{$name}时,__get() 会被调用<br/>"; } public function __isset($name) { echo "__isset:当对不可访问属性:{$name}调用 isset() 或 empty() 时,__isset() 会被调用<br/>"; } public function __unset($name) { echo "__unset:当对不可访问属性:{$name}调用 unset() 时,__unset() 会被调用<br/>"; } public function __clone() { $instance = ++self::$instance; echo "__clone:对像被克隆了:{$instance}次<br/>"; } /** * php魔术常量 */ public function index() { echo '<hr/>php魔术常量<hr/>'; echo '命名空间:' . __NAMESPACE__ . '<br/>'; echo '当前类名:' . __CLASS__ . '<br/>'; echo '当前方法:' . __METHOD__ . '<br/>'; echo '当前函数:' . __FUNCTION__ . '<br/>'; echo '当前目录:' . __DIR__ . '<br/>'; echo '完整路径:' . __FILE__ . '<br/>'; echo '当前行号:' . __LINE__ . '<br/>'; } } //__constuct $magic = new MagicController(); //__toString echo $magic; //__call $magic->test1('param1'); //__invoke $magic(5); //__callStatic $magic::test2('param2'); //__set $magic->private = 2; //__get $magic->private; //__isset isset($magic->private); empty($magic->private); //__unset unset($magic->private); //__clone clone($magic); clone($magic);
执行__construct
__toString:方法用于一个类被当成字符串时应怎样回应
__call:执行了一个不存在的方法:test1参数(json格式):["param1"]
__invoke:当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用
__callStatic:访问了一个不存在的静态方法:test2参数(json格式):["param2"]
__set:在给不可访问属性:private赋值为:2时,__set() 会被调用
__get:在读书不可访问属性:private时,__get() 会被调用
__isset:当对不可访问属性:private调用 isset() 或 empty() 时,__isset() 会被调用
__isset:当对不可访问属性:private调用 isset() 或 empty() 时,__isset() 会被调用
__unset:当对不可访问属性:private调用 unset() 时,__unset() 会被调用
__clone:对像被克隆了:1次
执行__destruct
__clone:对像被克隆了:2次
执行__destruct
执行__destruct
执行__construct
php魔术常量
命名空间:App\Http\Controllers\Study
当前类名:App\Http\Controllers\Study\MagicController
当前方法:App\Http\Controllers\Study\MagicController::index
当前函数:index
当前目录:/share/www_hurong/app/Http/Controllers/Study
完整路径:/share/www_hurong/app/Http/Controllers/Study/MagicController.php
当前行号:81
- 相关文章
- php中session_destroy与session_un
- php中数组合并的几种方法
- php数据类型
- php变量
- php比较运算符
- echo,print,printf,print_r,sprint
- php变量的作用域
- apache虚拟目录配置
- 热门文章
- win7中将文件拷贝到虚拟机linux下
- phpexcel设置行高及列宽,背景颜色,
- rabbitmq无法启动
- intellij idea不显示git push按钮
- php7中使用mongodb的aggregate进行
- centos7.4 64位下swoole安装及配置
- laravel页面静态化的方法
- navicate连接mycat报1184错误
- 单点登录sso原理及php实现方式及de
- devops-jenkins容器为pending状态
- 好评文章
- phpexcel设置行高及列宽,背景颜色,
- php7中使用mongodb的aggregate进行
- intellij idea打开文件所在文件夹
- windows下使用MongoDB Compass Com
- win7中将文件拷贝到虚拟机linux下
- laravel 中悲观锁 & 乐观锁的使用
- 单点登录sso原理及php实现方式及de
- navicate连接mycat报1184错误
- rabbitmq无法启动
- laravel整合dingo/api方法步骤:jwt
- 我的项目
- 【github】www.github.com/hurong241
- 【码云】gitee.com/hu_rong/projects
- 【docker hub】hub.docker.com/repositories/hurong241
- 【packagist】packagist.org/users/hurong241/packages
- 站点信息
- 建站时间:2011年
- 文章数:607篇
- 浏览数:940273