Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Mockery\Generator\StringManipulation\Pass;
4
 
5
use Mockery\Generator\MockConfiguration;
6
 
7
class ConstantsPass implements Pass
8
{
9
    public function apply($code, MockConfiguration $config)
10
    {
11
        $cm = $config->getConstantsMap();
12
        if (empty($cm)) {
13
            return $code;
14
        }
15
 
16
        if (!isset($cm[$config->getName()])) {
17
            return $code;
18
        }
19
 
20
        $cm = $cm[$config->getName()];
21
 
22
        $constantsCode = '';
23
        foreach ($cm as $constant => $value) {
24
            $constantsCode .= sprintf("\n    const %s = %s;\n", $constant, var_export($value, true));
25
        }
26
 
27
        $i = strrpos($code, '}');
28
        $code = substr_replace($code, $constantsCode, $i);
29
        $code .= "}\n";
30
 
31
        return $code;
32
    }
33
}