相当于php

时间:2017-10-06 14:13:37

标签: php

我需要将我们在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();

1 个答案:

答案 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;
}