帮助编写一个PHP代码,每个数组值重复一次

时间:2010-04-02 16:17:37

标签: php javascript compression code-generation google-closure-compiler

您好我正在使用Closure Compiler压缩并加入一些JavaScript文件,语法是这样的;

$c = new PhpClosure();
$c->add("JavaScriptA.js")
  ->add("JavaScriptB.js")
  ->write();

我怎么能系统地从一个数组中添加更多的文件让我们说$ file = array('JavaScriptA.js','JavaScriptB.js','JavaScriptC.js',..)中的每个数组元素都会执行以下代码

$c = new PhpClosure();    
$c->add("JavaScriptA.js")
  ->add("JavaScriptB.js")
  ->add("JavaScriptC.js")
  ->add
  ...
  ->write();

提前非常感谢你!

1 个答案:

答案 0 :(得分:3)

PhpClosure代码使用method chaining来减少重复的代码并使一切看起来更好。函数(或至少add函数)返回$this(函数被调用的对象)。

第一个样本中的代码可以写成:

$c = new PhpClosure();
$c->add("JavaScriptA.js");
$c->add("JavaScriptB.js");
$c->write();

然后可以转换中间部分(add函数调用),使其循环遍历文件数组,而不必为每个文件添加一行。

$files = array("JavaScriptA.js", "JavaScriptB.js");
$c = new PhpClosure();
foreach ( $files as $file ){
    $c->add($file);
}
$c->write();