我刚刚将服务器更新到最新版本的php 7.2,现在我有一些折旧警告。我该怎么办?
此功能自PHP 7.2.0起已废弃。非常不鼓励依赖此功能。
这是我的代码:
if(!array_key_exists('callable', $this->translation_plural)) {
$this->translation_plural['callable'] = create_function('$n', $this->translation_plural['function']);
}
答案 0 :(得分:0)
documentation建议使用匿名函数。鉴于$this->translation_plural['function']
看起来像是一个字符串,你应该考虑重写。
如果您想摆脱警告,可以使用以下内容:
$this->translation_plural['callable'] = function($n) { return eval($this->translation_plural['function']); };
这对您的代码完全无效,您仍在使用eval
,这是不好的做法。文档warns against using it.
唯一的区别是,create_function()
在内部使用它,现在它非常明确。