不赞成使用PHP函数,现在应该使用什么?

时间:2022-09-10 23:09:38

I have this code in one of my classes

我的一个类中有这个代码

 public function __call($method, $args) {

        array_unshift($args, $method);

        call_user_method_array('view', $this, $args);

    }

We've since switched servers, and they must use a newer version of PHP5, and I get the following message

我们已经交换了服务器,他们必须使用更新的PHP5版本,我得到如下消息

Function call_user_method_array() is deprecated

Is there where I should use reflection? What exactly is it, and how would I use it to modify my code above to work as it used to?

我应该在哪里使用反射?它到底是什么,我将如何使用它来修改上面的代码,以像以前那样工作?

1 个解决方案

#1


24  

http://php.net/manual/en/function.call-user-method-array.php

http://php.net/manual/en/function.call-user-method-array.php

The call_user_method_array() function is deprecated as of PHP 4.1.0.

在PHP 4.1.0中,call_user_method_array()函数已被弃用。

New way:

新方法:

<?php
// Old:
// call_user_method_array('view', $this, $args);
// New:
call_user_func_array(array($this, 'view'), $args);
?>

#1


24  

http://php.net/manual/en/function.call-user-method-array.php

http://php.net/manual/en/function.call-user-method-array.php

The call_user_method_array() function is deprecated as of PHP 4.1.0.

在PHP 4.1.0中,call_user_method_array()函数已被弃用。

New way:

新方法:

<?php
// Old:
// call_user_method_array('view', $this, $args);
// New:
call_user_func_array(array($this, 'view'), $args);
?>