Heim  >  Artikel  >  Backend-Entwicklung  >  php中 重载(二)_PHP教程

php中 重载(二)_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:17:16881Durchsuche

php中 重载(二)

接着上一次说的重载,我们了解下php中的重载,方法的重载,如果有管重载定义,参考:php中 重载(一)这个文章,谢谢.作为初学者,大牛勿喷:

基本是两个方法

__call,当调用对一个不可访问的对象方法时,会自动执行该魔术方法!(对象调用)

典型的两种处理方式:

1,给出友好的提示!

2,执行默认操作!

__callstatic,当调用一个不可访问的静态方法时,会自动执行该魔术方法!

详细代码:

class Student {
public $name = 'php';
public $age = 10;

public function sayName() {
return $this->name;
}

/**
* @param $method_name string 方法名
* @param $method_arguments array 调用时携带的参数
*/
public function __call($method_name, $method_arguments) {
echo '
抱歉, 你调用的方法不存在!,你应该调用(***)方法!';

$this->defaultAction();//执行默认的方法,可以做跳转用,实现redirect


}

public function defaultAction() {
echo '
这里是默认动作!';
}

public static function __callStatic($m_name, $m_args) {
echo '这里是静态的方法重载!';
}
}
Student::sayCounter();
以上是学习的时候参考的例子,分下下.....如果有疑问,我们可以讨论

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/894187.htmlTechArticlephp中 重载(二) 接着上一次说的重载,我们了解下php中的重载,方法的重载,如果有管重载定义,参考:php中 重载(一)这个文章,谢谢.作...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn