php魔术函数

 这篇文章主要介绍了php魔术函数__call()用法,实例分析了__call()函数的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 
 

本文实例分析了php魔术函数__call()用法。分享给大家供大家参考。具体如下:

php魔术函数__call()的介绍,看完下面的实例就明白了:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

<?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程序设计有所帮助。

时间: 2024-10-03 15:33:36

php魔术函数的相关文章

php5魔术函数、魔术常量

Php5.0发布以来为我们提供了很多面向对象的特性,尤其是为我们提供了好多易用的魔术方法,这些魔术方法可以让我们简化我们的编码,更好的设计我们的系统.今天我们就来认识下php5.0给我们提供的魔术方法. 魔术函数 1.__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__destruct() 当删除一个对象或对象操作终止时被调用. 3.__call() 对象调用某个方法, 若方法存在,

PHP 魔术变量和魔术函数详解

 这篇文章主要简单介绍了PHP 魔术变量和魔术函数,以及使用示例,方便我们学习理解php魔术变量和魔术函数,有需要的小伙伴参考下吧.     魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在代码中的位置改变而改变. 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下: __LINE__ 文件

php 魔术函数使用说明_php基础

什么是魔术函数? 对于__开头的函数就命名为魔术函数, 此类函数都在特定的条件下触发的.比如: __set() __get()等 在设置或取不存在的属性时候触发. 有那些魔术函数呢? 总的来说, 有下面几个魔术函数 __construct() __destruct() __get() __set() __isset() __unset() __call() __callStatic() __sleep() __wakeup() __toString() __set_state() __clone

PHP中的Magic Methods (魔术函数)

  下面我将对PHP所有的魔术方法进行介绍说明.其实下面的大多数方法,对于一个合格的PHP程序员来说,都是很熟悉的东西了.我在这里作个总结,自己作个记录学习,同时也给还未熟悉这些方法的同学们做个介绍.如有疏漏和错误,希望各位能指出.下面所提到的,大多数是PHP5所增加的魔术方法,少部分在PHP4里就已经存在,少部分则是PHP5.1.0之后才出现的,这个在下面我将会提到. __construct()和__destruct() 构造函数__construct()和析构函数__destruct(),这

PHP 魔术变量和魔术函数详解_php技巧

魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在代码中的位置改变而改变. 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号. 实例: 复制代码 代码如下: <?php echo '这是第 " '  . __LINE__ . ' " 行'

php魔术函数__call()用法实例分析_php技巧

本文实例分析了php魔术函数__call()用法.分享给大家供大家参考.具体如下: php魔术函数__call()的介绍,看完下面的实例就明白了: <?php class A{ public $name; function test1($a){ echo "test1111"; } function test2($a){ echo "test2222"; } //当某个对象调用某个方法,而当该方法不存在时,则系统会自动调用__call() function _

PHP魔术函数__autoload的用法与一些问题

__autoload()用法 php手册中的一些讲讲法 自动加载对象 很多开发者写面向对象的应用程序时对每个类的定义建立一个 PHP 源文件.一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件列表. 在 PHP 5 中,不再需要这样了.可以定义一个 __autoload 函数,它会在试图使用尚未被定义的类时自动调用.通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类. Note: 在 __autoload 函数中抛出的异常不能被 catch 语句块

php 魔术函数集中营

php教程 魔术函数集中营 1.__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__destruct() 当删除一个对象或对象操作终止时被调用. 3.__call() 对象调用某个方法, 若方法存在,则直接调用; 若不存在,则会去调用__call函数. 4.__get() 读取一个对象的属性时, 若属性存在,则直接返回属性值; 若不存在,则会调用__get函数. 5.__set()

PHP 魔术函数 __call()用法

在 PHP 中的方法调用是这样工作的.首先,PHP 解释器在类上查找方法.如果方法存在,PHP 就调用它.如果没有,那么就调用类上的魔术函数 __call(如果这个方法存在的话).如果 __call 失败,就调用父类方法,依此类推. 这样红口白牙的说似乎有点太变态了,我们还是举个例子吧,看如下代码:  代码如下 复制代码  class test{ public function __construct(){ echo "this is construct!n"; } } -- 在这个测