php常用魔术常量与魔术方法
首页->学习资料->编程语言->php教程->php基础 关键词:php魔术常量,php魔术方法 发布时间:2018-06-21 04:47:09 浏览次数:1568
<?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


赞:(0)
踩:(0)
相关文章
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
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【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
粤ICP备18028092号-1  微信:hurong241