A. 如何在php中使用call
__call()函数是php类的默认渣猛卖魔法函数,__call() 在一个对象的上下如逗文中,如果调用的方法不存在的时候,它将被触发:
<?php
class MethodTest {
public function __call($name, $arguments) {
// Note: value of $name is case sensitive.
echo "Calling object method '$name' "
. implode(', ', $arguments). "\n";
}
}
$obj = new MethodTest;
$obj->runTest('in object context');
运行结果知明:
Calling object method 'runTest' in object context
B. php中怎么用call
__call 是一个魔术方法,当调用一个不可访问的对象方法笑闭(非静态方法),会自动的执行该魔术方法。public funciton __call($name,$arr)
比如,在类外部,调庆唤用类中一个不存在的方法,就会自动执行这个__call方法( $name,$arr),参数$name代表的是你调用的方法名,$arr代表的是你调用这个方法里面的所有参数。
class a {
pu blic function __call($name,$arr){
echo $name;
var_mp($arr);
}
}
$a = new a();
$a->testa(1,2,3);
此时,$name就是testa $arr就是array(1,2,3)组成的数组。
黑马程序员的PHP是国内最早开设的真正人碰差裂工智能课程。课程全面系统,紧跟时代潮流。
C. php中怎么使用call
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个枣扒对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。 <?php class foo { function __call($name,$arguments) { print("Did you call me? I'm $name!"); } } $x = new foo(); $x->doStuff(); $x->fancy_stuff(); ?> 这个特殊的腔岩拦方法可以被用来实现“过载(overloading)”的动作,这样你就可以检查你的参数并且通过调用一个私有的伍胡方法来传递参数。 <?php class Magic { function __call($name,$arguments) { if($name=='foo') { if(is_int($arguments[0])) $this->foo_for_int($arguments[0]); if(is_string($arguments[0])) $this->foo_for_string($arguments[0]); } } private function foo_for_int($x) { print("oh an int!"); } private function foo_for_string($x) { print("oh a string!"); } } $x = new Magic(); $x->foo(3); $x->foo("3"); ?>
D. php中怎么使用call
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。
<?php
class foo {
function __call($name,$arguments) {
print("Did you call me? I'搏汪m $name!");
}
} $x = new foo();
$x->doStuff();
$x->fancy_stuff();
?>
这个特殊的方法可以被用来实现“过载携银旦(overloading)”的动作,这辩扰样你就可以检查你的参数并且通过调用一个私有的方法来传递参数。
<?php
class Magic {
function __call($name,$arguments) {
if($name=='foo') {
if(is_int($arguments[0])) $this->foo_for_int($arguments[0]);
if(is_string($arguments[0])) $this->foo_for_string($arguments[0]);
}
}
private function foo_for_int($x) {
print("oh an int!");
}
private function foo_for_string($x) {
print("oh a string!");
}
}
$x = new Magic();
$x->foo(3);
$x->foo("3");
?>
E. php中怎么使用call
1.php中使用call:
<?php
// An example callback function
function my_callback_function() {
echo '烂高hello world!';
}
// An example callback method
class MyClass {
static function myCallbackMethod() {
echo 'Hello World!';
}
}
// Type 1: Simple callback
call_user_func('my_callback_function');
// Type 2: Static class method call
call_user_func(array('MyClass', 'myCallbackMethod'));
// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, '肆历闭myCallbackMethod'));
// Type 4: Static class method call (As of PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod'裂裂);
// Type 5: Relative static class method call (As of PHP 5.3.0)
class A {
public static function who() {
echo "A\n";
}
}
class B extends A {
public static function who() {
echo "B\n";
}
}
call_user_func(array('B', 'parent::who')); // A
?>
F. 有关于PHP的 __call
__call() 是PHP里的一个魔术方法,当你调用一个类里的方法,而该方法又不存在里,就会自做信动调用__call() ;
上面__call 第一个参数$m 就是你要调用的方法 test.
第二个参数 是你调用方法传的参数 被当作数据传进来。
打则磨印结果里有三部分,第一部分是 $m 第二部分是传进纯盯轮来的参数,第三部分是该类本身所拥有的成员属性
G. php中怎么使用call
php中可使用call_user_func进行方法的动态调用,可以动态调用普通函数、类方法以及带参数的类方法
1.定义一个普通梁握纤函数getCurrentDate,用于获取皮清今天日期。
call_user_func带上的参数为要被调用的函数名
fucntion getCurrentDate(){
echo 'getCurrentDate:' . date('Y-m-d');
}
call_user_func('getCurrentDate');
程序会自动执行getCurrentDate函数并获得期望的橡仿结果
getCurrentDate:2016-04-13这样使用的,你看看行吗?我刚刚在后盾人实训班学会的,现在学费优惠哦,还包住宿
H. php中怎么使用call
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:
<?php
function nowamagic($a,$b)
{
echo $a;
echo $b;
}
call_user_func('nowamagic', "银枯闹"败圆,"");
call_user_func('nowamagic', "","");
//显锋罩示
?>
I. php中怎么使用call
__call是php语言里的一个魔术方法,其作用是:当调用的方法不存在时会自动调用这个方法。
语法:
function__call(string$function_name,array$arguments)
{
宏瞎......
}
该方握绝祥法有两个参数,第一个参数$function_name会自动接收不存在的方法名,第二个$args则以数组的方段搏式接收不存在方法的多个参数。
在类里面加入:
function__call($function_name,$args)
{
echo"你所调用的函数:$function_name(参数:<br/>";
var_mp($args);
echo")不存在!";
}
当调用一个不存在的方法时(如test()方法):
$p1=newPerson();
$p1->test(2,"test");
输出的结果如下:
你所调用的函数:test(参数:
array(2){
[0]=>int(2)
[1]=>string(4)"test"
}
)不存在!
J. php中怎么使用call
PHP中的一个魔坦戚术方法, 作用羡简是当你调用一个不存在的方法时自动调用的方法:
<?php
header('content-type:text/html;charset=utf-8');
classTest{
publicfunction__construct(){
//
}
publicfunction__call($func,$args){
/**
*@func所调用的方法名称
*
*@args调用时所携带参数
让派陵*
**/
}
}
$var=newTest();
$var->test('a','b','c');