You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
930 B
42 lines
930 B
<?php
|
|
|
|
/*
|
|
Copyright (c) 2009 hamcrest.org
|
|
*/
|
|
|
|
class GlobalFunctionFile extends FactoryFile
|
|
{
|
|
/**
|
|
* @var string containing function definitions
|
|
*/
|
|
private $functions;
|
|
|
|
public function __construct($file)
|
|
{
|
|
parent::__construct($file, ' ');
|
|
$this->functions = '';
|
|
}
|
|
|
|
public function addCall(FactoryCall $call)
|
|
{
|
|
$this->functions .= "\n" . $this->generateFactoryCall($call);
|
|
}
|
|
|
|
public function build()
|
|
{
|
|
$this->addFileHeader();
|
|
$this->addPart('functions_imports');
|
|
$this->addPart('functions_header');
|
|
$this->addCode($this->functions);
|
|
$this->addPart('functions_footer');
|
|
}
|
|
|
|
public function generateFactoryCall(FactoryCall $call)
|
|
{
|
|
$code = "if (!function_exists('{$call->getName()}')) {\n";
|
|
$code.= parent::generateFactoryCall($call);
|
|
$code.= "}\n";
|
|
|
|
return $code;
|
|
}
|
|
}
|