php魔术函数__call()用法实例分析
本文实例分析了php魔术函数__call()用法。分享给大家供大家参考。具体如下:
php魔术函数__call()的介绍,看完下面的实例就明白了:
<?php class A{ public $name; function test1($a){ echo "test1111"; } function test2($a){ echo "test2222"; } //当某个对象调用某个方法,而当该方法不存在时,则系统会自动调用__call() function __call($method,$val){ echo "类中找不到方法:".$method; } } $aaa = new A(); $aaa ->test(1); ?>
输出结果:
类中找不到方法:test
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
深入PHP5中的魔术方法详解
从PHP 5以后的版本,PHP中的类就可以使用魔术方法了.其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法. 1.__get.__set这两个方法是为在类和他们的父类中没有声明的属性而设计的.◆__get( $property ) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名.◆__set( $property, $value ) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值
-
PHP 5.3新增魔术方法__invoke概述
PHP自从5.3版以来就新增了一个叫做__invoke的魔术方法,使用该方法就可以在创建实例后,直接调用对象.如下示例所示: class testClass { public function __invoke { print "hello world"; } } $n = new testClass; $n(); 执行结果为: hello world. php官方示例如下: class CallableClass { public function __invoke($x) { va
-
PHP魔术方法__GET、__SET使用实例
__get() - 读取不可访问属性的值时,__get() 会被调用. __set() - 在给不可访问属性赋值时,__set() 会被调用. 复制代码 代码如下: <?php /** * 清晰的认识__get() __set() */ class Example { //公有的属性 public $public = 'pub' ; //受保护的 - 子类中该属性可用 protected $protected = 'pro'; //私有的 -
-
详解php的魔术方法__get()和__set()使用介绍
先看看php官方文档的解释: __set() is run when writing data to inaccessible properties. __get() is utilized for reading data from inaccessible properties. 究竟用中文怎么翻译呢? inaccessible :n. 难达到:难接近:无法理解. 有代码有真相: 复制代码 代码如下: <?php error_reporting(E_ALL); class stu{ priv
-
PHP魔术方法__ISSET、__UNSET使用实例
__isset() – 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法 __unset() - 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则自动执行__unset()的方法 复制代码 代码如下: <?php /** * 针对类中的魔术方法 __isset() 和 __unset() 的例子 */ class Example { public $public
-
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
16.__toString()方法 我们前面说过在类里面声明"- "开始的方法名的方法(PHP 给我们提供的),都是在 某一时刻不同情况下自动调用执行的方法,"__toString()"方法也是一样自动被调用的,是在 直接输出对象引用时自动调用的, 前面我们讲过对象引用是一个指针,比如说:"$p=new Person()"中,$p 就是一个引用,我们不能使用echo 直接输出$p,这样会输出"Catchable fatal error:
-
php面向对象中的魔术方法中文说明
1.__construct() 实例化对象是被自动调用.当__construct和以类名为函数名的函数 同时存在时调用__construct,另一个不背调用. 类名为函数名的函数为老版的构造函数. 2.__destruct() 当删除一个对象或一个对象操作结束是被调用. 3.__call() 对象调用某个方法.若方法不存在,这调用__call 这个方法 4.__get() 读取一个对象属性,如果对象属性是私有的会调用它 5.__set() 给一个对象属性赋值时如果属性是私有的会调用它 6.__t
-
php中__toString()方法用法示例
本文实例讲述了php中__toString()方法.分享给大家供大家参考,具体如下: 我们前面说过在类里面声明"--"开始的方法名的方法,都是在某一时刻不同情况下自动调用执行的方法."__toString()"方法也是一样自动被调用的.是在直接输出对象引用时自动调用的. <?php class TestClass{ public $foo; public function __construct($foo) { $this->foo = $foo; }
-
PHP的魔术常量__METHOD__简介
__METHOD__ 是PHP5之后新增的魔术常量,表示的是类文法的名称.魔术常量是一种PHP预定义常量,它的值可以是变化的,PHP中的其它已经存在的魔术常量有__LINE__.__FILE__.__FUNCTION__.__CLASS__等. 下面就用一小段代码来演示一下__METHOD__的用法. <?php class chhua{ function test(){ echo __METHOD__; } } $e=new chhua(); $e->test();//输出:chhua::t
-
php中的常用魔术方法总结
常用的魔术方法有:__Tostring () __Call() __autoLoad() __ clone() __GET() __SET() __isset() __unset() 1.__Tostring() 用于定义输出对象引用时调用 常用于打印一些对象的信息 必须有返回值eg:有一个persion类Persion per =new persion()Echo per; //直接调用会出错我们可以在类的定义中添加__tostring()方法 复制代码 代码如
-
php 魔术方法使用说明
PHP5.0后,php面向对象提成更多方法,使得php更加的强大!! 一些在PHP叫魔术方法的函数,在这里介绍一下:其实在一般的应用中,我们都需要用到他们!! 1.__construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用. Java代码 class Test { function __construct() { echo "before"; } } $t = new Test(); class Test { function __construct() { ec
随机推荐
- asp 批量删除选中的多条记录
- 有效防止SQL注入的5种方法总结
- VBS 加解密 For CAPICOM
- 对一个tomcat实现多端口、多域名访问的方法
- 条件数据库Android:sqllite的简单使用
- Java Map简介_动力节点Java学院整理
- Asp.Net使用Npoi导入导出Excel的方法
- Windows下PHP5和Apache的安装与配置
- python同时给两个收件人发送邮件的方法
- 详细解析Python中的变量的数据类型
- JavaScript入门教程(8) Location地址对象
- jquery中ajax使用error调试错误的方法
- 文本框css关闭输入法
- 详解Struts2中json 相互引用死循环解决办法
- jquery实现弹出窗口效果的实例代码
- jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
- 禁止JQuery中的load方法装载IE缓存中文件的方法
- Android实现歌词渐变色和进度的效果
- javascript中createElement的两种创建方式
- Javascript实现返回上一页面并刷新的小例子