我需要将我们在wordpress项目中使用的一些遗留代码重构为面向对象。如下所示,在setTitle函数中设置页面标题时,会出现大量重复代码的一个区域。
嵌套函数似乎不适用于PHP。但是,假设它可以工作,下面的代码应该完成我想要做的事情。
在setTitle函数中,我想要做的就是接受一个字符串并以某种方式执行代码,并使用传入的字符串成功调用add_filter
,这将成功设置标题。实现这一目标的最佳方法是什么?
MyControllerClass.php
public function setTitle($title) {
function t($t) {
$t['title'] = $title; return $t;
}
add_filter( 'document_title_parts', 't' );
return $this;
}
然后,在另一个班级......
$controller->setTitle('My Homepage')->renderHomePage();
答案 0 :(得分:1)
您可以使用带有use
语句的匿名函数。
Resend DocuSign Emails
试试这个。
public function setTitle($title) {
add_filter( 'document_title_parts', function ($t) use ($title) {
$t['title'] = $title; return $t;
});
return $this;
}