PHP 8中替换create_function()的方法咨询(附代码示例)
替换已废弃的create_function()方法
create_function()在PHP 7.2版本起被标记为废弃,PHP 8.0后正式移除,推荐用以下两种方式替换你的代码:
方案一:使用匿名函数(闭包)
这是最直接的替换方式,语法和原逻辑高度匹配,也是官方推荐的替代方案:
add_action( 'plugins_loaded', function() { global $Gestor_Cadastros; $Gestor_Cadastros = new Gestor_Cadastros(); } );
方案二:使用命名函数
如果这段初始化逻辑需要在其他地方复用,或者你更倾向于代码可读性,可以定义一个命名函数再绑定到动作上:
// 先定义命名函数 function init_gestor_cadastros() { global $Gestor_Cadastros; $Gestor_Cadastros = new Gestor_Cadastros(); } // 绑定到plugins_loaded动作 add_action( 'plugins_loaded', 'init_gestor_cadastros' );
额外提示
如果项目允许,尽量避免使用global全局变量,你可以考虑用类的静态属性、依赖注入或者WordPress的全局存储机制(比如$GLOBALS数组)来替代,这样代码的可维护性会更好。
内容的提问来源于stack exchange,提问作者Rafael Cruz Enjamio
相关产品推荐
相关产品推荐

