PHP 7.2函数create_function()已弃用我在下面的应用程序中使用了create_function。$callbacks[$delimiter] = create_function('$matches', "return '$delimiter' . strtolower(\$matches[1]);");但是对于PHP 7.2.0,不推荐使用create_function()。任何想法,如何在PHP 7.2.0上修复我的代码。谢谢你的帮助,
3 回答
aluckdog
TA贡献1847条经验 获得超7个赞
我想用一个我在Wordpress主题中找到的一个非常简单的案例做出贡献并且似乎正常工作:
拥有以下add_filter语句:
add_filter( 'option_page_capability_' . ot_options_id(), create_function( '$caps', "return '$caps';" ), 999 );
替换为:
add_filter( 'option_page_capability_' . ot_options_id(), function($caps) {return $caps;},999);
我们可以看到function()的用法,非常典型的函数创建,而不是弃用的create_function()来创建函数。希望能帮助到你。
DIEA
TA贡献1820条经验 获得超2个赞
如果有人需要将create_function()
代码中的几十个案例升级到匿名函数,我就会使用一个名为Rector的工具。
它遍历代码并create_function
用匿名函数1:1 替换。它在30种不同的情况下进行了测试。
安装
composer require rector/rector --dev
建立
# rector.ymlservices: Rector\Php\Rector\FuncCall\CreateFunctionToAnonymousFunctionRector: ~
运行您的代码
vendor/bin/rector process src --config rector.yml --dry-runvendor/bin/rector process src --config rector.yml
- 3 回答
- 0 关注
- 2641 浏览
添加回答
举报
0/150
提交
取消