跟着百度学PHP[4]OOP面对对象编程-15-魔术方法__call方法
简而言之就是调用了一个类中没有的方法就会自动调用__call()方法,
该参数有两个必须的参数!
第一个参数:调用的不存在的方法的方法名。
第二个参数:调用不存在的方法的参数。
但是总的说回来,__call方法的具体作用是什么呢?
目录-----------------------------------------------------------------
00x1 不存在案例。
---------------------------------------------------------------------
第一案例 CODE
<?php
/**
* __Class方法
*/
class Human
{
public $name;
public $sex;
public $age; public function eat($a){
echo "我在吃".$a;
}
public function run(){
echo "我在走路";
}
public function play(){
echo "我在玩";
}
public function __call($method,$args){ #声明一个___call方法,注意该方法要有两个参数!
echo "对不起,您输入的{$method}方法,以及属性";
print_r($args);
echo "不存在";
}
}
$x = new Human("张大牛","男",);
$x -> test("上课") #调用test这个方法,但是并没有这个方法,系统就会自动去调用__call方法。
?>
输出效果如下所示:
对不起,您输入的test方法,以及属性Array ( [0] => 上课 ) 不存在
THE END
跟着百度学PHP[4]OOP面对对象编程-15-魔术方法__call方法的更多相关文章
- 跟着百度学PHP[4]OOP面对对象编程-7-OOP的一些关键子讲解
面对对象常用的一些关键子:http://www.cnblogs.com/xishaonian/p/6146794.html排版不是很好望见谅. THE END
- 跟着百度学PHP[4]-OOP面对对象编程-1-什么是面对对象编程
该阶段学习参考:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/09/10/1823042.html 面向对象编程(Object Orie ...
- 跟着百度学PHP[4]OOP面对对象编程-17-多态
多态是除封装和继承之外的另一个面象对象的三大特性之一. 多态的作用简而言之就是为程序做括展. 比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不同的员工或是不同职位的员工,都是通过这 ...
- 跟着百度学PHP[4]OOP面对对象编程-14-克隆对象__clone()方法
$b=clone ($a) #克隆a对象. <?php class Human { private $name; private $sex; private $age; function __c ...
- 跟着百度学PHP[4]OOP面对对象编程-13-魔术方法__set(),__get(),__isset(),__unset()
__set() 在对象访问私有成员的时候自动被调用,达到了给你看,但是不能给你修改的效果!(在对象访问一个私有的成员的时候就会自动的调用该魔术方法) __get() 方法用于获取私有属性值.(在设置私 ...
- 跟着百度学PHP[4]OOP面对对象编程-12-对象接口技术(interface)
PHP与大多数面向对象编程语言一样,不支持多重继承.也就是说每个类只能继承一个父类. 接口正是解决每个类只能继承一个父类这个问题的 接口用什么权限,继承的那个方法也要使用什么权限. 接口的声明使用:i ...
- 跟着百度学PHP[4]OOP面对对象编程-10-静态关键字static
使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法. 以Person类为例,如果在person类中有一个“$country=’china’”的成员属性, ...
- 跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)
函数就是成员方法(方法有三:构造方法.成员方法.析构方法) 下面是两种方法. 构造方法和构析方法 00x1 构造方法 构造方法会在创建对象之后自动调用.其名称为__construct <?php ...
- 跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this
$this就是对象内部代表这个对象的引用 可以调用被封装的方法或者属性! <?php class Person{ private $name; "; var $sex; functio ...
- 跟着百度学PHP[4]OOP面对对象编程-4-对象成员的访问 ->
使用一个减号一个尖括号->来达到访问对象成员. $object->方法 来看案例. <?php class Person{ private $name; "; var $s ...
随机推荐
- Java——private default protected public访问控制权限
访问控制权限 protected范例
- this.name=name;和this.setName(name);的区别
其实一般属性设置为private后,才会写属性的set和get方法 在本类中可以用 this.name=name 但是,在其他类中药给name赋值,就只能用set了
- JavaScript学习笔记——对表单的操作
javascript-对表单的操作实例讲解 <form name="myform" id="form1" action="" meth ...
- Java Web的两种开发模式
参考文献:http://www.cnblogs.com/xdp-gacl/p/3908610.html 一.Jsp+JavaBean 此模式如下图所示:
- MacPorts安装32位动态库
http://superuser.com/questions/63198/install-32-bits-ports-on-snow-leopard
- cannot start session without errors
访问phpmyadmin出现如标题错误,解决方案如下: cd /var/lib/php 更改目录权限chown nginx:nginx -R session/ That's All!
- jsp简单标签开发(一)
孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...
- VS中修改站点运行方式(集成 Or 经典)
以前写过一篇博客使用HttpHander截取用户请求. 写进Web.Config时..运行会报 在集成环境下不能使用站点配置 就想改成经典..但是不会改..还修改过Framework配置什么的.. 那 ...
- 修改ubuntu DNS的步骤/wget url报错: unable to resolve host address的解决方法
wget url 报错:unable to resolve host address ‘url’,显然是无法解析主机地址,这就能看出是DNS解析的问题.解决办法就是配置可用的dns 一般是修改成为谷歌 ...
- asp.net core 笔记
dnvm use 1.0.0-rc1-final -r clr 切换版本