zoukankan      html  css  js  c++  java
  • PHP魔术方法之__call与__callStatic方法

    //魔术方法__call  
    /* 
    $method 获得方法名 
    $arg 获得方法的参数集合 
    */
    class Human {
      private function t(){
    
      }
    
      public function __call($method,$arg){
        echo '你想调用我不存在的方法',$method,'方法<br/>';  
        echo '还传了一个参数<br/>';  
        echo print_r($arg),'<br/>';  
      }
    
      public static function __callStatic($method,$arg){
        echo '你想调用我不存在的',$method,'静态方法<br/>';  
        echo '还传了一个参数<br/>';  
        echo print_r($arg),'<br/>'; 
      }
    }
    
    
    $ha = new Human();
    
    //example1
    $ha->t(1,2,3);
    
    echo '<br>';
    //example2
    $ha->say('a','b','c');
    
    echo '<br>';
    //example3
    $ha::run('d','e','f');

    你想调用我不存在的方法t方法
    还传了一个参数
    Array ( [0] => 1 [1] => 2 [2] => 3 ) 

    你想调用我不存在的方法say方法
    还传了一个参数
    Array ( [0] => a [1] => b [2] => c ) 

    你想调用我不存在的run静态方法
    还传了一个参数
    Array ( [0] => d [1] => e [2] => f ) 

  • 相关阅读:
    枚举
    泛型
    装箱和拆箱
    使用TryParse()来执行数值转换
    参数数组
    checked和unchecked转换
    字符串不可变
    TCC : Tiny C Compiler (2018-2-6)
    win10 下 protobuf 与 qt
    QWebView 与Js 交互
  • 原文地址:https://www.cnblogs.com/gide/p/4668022.html
Copyright © 2011-2022 走看看