一、魔术方法__get 和 __set的使用:管理类中不存在的变量属性成员
在类中使用该两个函数
class Test{
protected $arr = array();
protected $page = 10;
public function __set( $key, $value ){
echo __METHOD__;
$this->arr[$key] = $value;
}
public function __get( $key ){
echo __METHOD__;
return $this->arr[$key];
}
}
使用示例
$test = new Test();
$test->title = "hello"; //给不存在的类的变量属性赋值时候会调用__set函数
echo $test->title; //使用不存在的变量时候会调用_get函数
//__call管理类中不存在的非静态方法,__callStatic则管理不存在的静态方法
class Test{
public function __call( $func, $param ){
var_dump(__METHOD__);
var_dump($func);
var_dump($param);
$err = $func."方法不存在";
echo $err;
}
static public function __callStatic( $func, $param ){
$err = $func."静态方法不存在";
echo $err;
}
}
$test = new Test();
$test->demo(); //当使用类中不存在的方法时候,会使用到定义的__call方法
//__toString方法是当直接输出一个对象时候,可以通过调用该方法输出字符串形式的类的名称
Class Test{
public function __toString(){
return __CLASS__;
}
}
$test = new Test();
echo $test; //调用__toString方法
//__invoke方法:把对象当做方法使用时候会调用
Class Test(){
public function __invoke( $param = ''){
var_dump($param);
return "ggggg";
}
}
$test = new Test();
echo $test('fff');
相关推荐
PHP 魔术变量和魔术函数详解_.docx
本篇文章是对php魔术方法与魔术变量、内置方法与内置变量进行了详细的分析介绍,需要的朋友参考下
魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着...
本文实例讲述了php魔术变量用法,其中__DIR__是php5.3新增的,分享给大家供大家参考。具体用法分析如下: 系统常量 __FILE__ 当前文件名 __LINE__ 当前行数 __FUNCTION__ 当前函数名 __CLASS__ 当前类名 __METHOD__ ...
在存在这么一个变量 tt, 它满足下面的代码. 代码执行完毕后 ,errCount=0 而且 断言函数也从未 alert 信息 代码如下: 代码如下:[removed] var tt=/* 请在这里定义tt */; var errCount=0 //全局变量,...
本文实例讲述了PHP中魔术变量__METHOD__与__FUNCTION__的区别,分享给大家供大家参考。具体分析如下: __METHOD__类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。 __FUNCTION__函数名称...
本文总结了PHP 预定义变量、魔术常量和魔术方法。分享给大家供大家参考,具体如下: PHP 预定义了一些变量、常量、方法,使用起来很方便,例如直接使用 __DIR__ 获取当前文件所在的目录。 下面分别详细介绍一下 ...
光影魔术手光光影魔术手光影魔术手光影魔术手影魔术手光影魔术手
魔术远控免费1.7魔术远控免费1.7魔术远控免费1.7魔术远控免费1.7魔术远控免费1.7魔术远控免费1.7魔术远控免费1.7
常见的化学小魔术.doc
光影魔术手光影魔术手光影魔术手光影魔术手
这个是104个光影魔术手边框素材,用过的都知道!ps必备利器,一键导入很不错哦。具体导入方法,首先打开软件,然后随便找张图,选边框,然后右侧你就会看到能够选择的东东了。很简单。
轮胎的魔术公式,含有m文件和simulink的搭建模型
魔术公式
PPT一个魔术游戏 神奇啊