52ky 发表于 2023-1-6 13:13:49

PHP重新定义系统或用户函数的方法

这是我自己写的一个PHP-Mock类,参考了GitHub上的一个项目。该PHP-Mock类可以在指定的命名空间中重新定义指定的函数,支持系统函数和用户自定义函数,但不支持公共命名空间。使用方法示例:


require 'phpmock.php';
use phpmock\Mock;

// 以下是让app\controller\home命名空间下的file_get_contents函数都返回“123456”
$func = function($url){
        return '123456';
}
Mock::builder('\\app\\controller\\home', 'file_get_contents', $func);

(This is a PHP-Mock class written by myself, referring to a project on GitHub. The PHP-Mock class can redefine the specified function in the specified namespace, supports system functions and user-defined functions, but does not support public namespaces. Example of how to use:


require 'phpmock.php';
use phpmock\Mock;

// The following is to let the file_get_contents function under the app\controller\home namespace return "123456"
$func = function($url){
return '123456';
}
Mock::builder('\\app\\controller\\home', 'file_get_contents', $func);)




页: [1]
查看完整版本: PHP重新定义系统或用户函数的方法