33 public function create( array $data,
$header =
'Automatically generated' ) {
34 return self::write( $data,
$header );
47 .
"// " . implode(
"\n// ", explode(
"\n",
$header ) ) .
"\n"
49 foreach ( $data as $key => $value ) {
50 $code .= self::encode( $key, $value, 1 );
67 public static function writeClass( array $data, array $layout ) {
69 .
"// " . implode(
"\n// ", explode(
"\n", $layout[
'header'] ) ) .
"\n"
71 .
"namespace {$layout['namespace']};\n"
73 .
"class {$layout['class']} {\n"
74 .
"\tpublic const {$layout['const']} = [\n";
75 foreach ( $data as $key => $value ) {
76 $code .= self::encode( $key, $value, 2 );
90 private static function encode( $key, $value, $indent ) {
91 $tabs = str_repeat(
"\t", $indent );
92 $line = $tabs . var_export( $key,
true ) .
' => ';
93 if ( is_array( $value ) ) {
95 foreach ( $value as $subkey => $subvalue ) {
96 $line .= self::encode( $subkey, $subvalue, $indent + 1 );
100 $line .= var_export( $value,
true );