First commit, version 0.1 beta base nibiru framework

This commit is contained in:
Stephan Kasdorf
2017-06-16 12:21:19 +02:00
parent 7d475ceb6b
commit 4bfe207b78
556 changed files with 113905 additions and 26 deletions

View File

@@ -0,0 +1,56 @@
<?php
/**
* Copyright (c) 2013-2017
*
* @category Library
* @package Dwoo\Plugins\Helpers
* @author Jordi Boggiano <j.boggiano@seld.be>
* @author David Sanchez <david38sanchez@gmail.com>
* @copyright 2008-2013 Jordi Boggiano
* @copyright 2013-2017 David Sanchez
* @license http://dwoo.org/LICENSE Modified BSD License
* @version 1.3.2
* @date 2017-01-06
* @link http://dwoo.org/
*/
namespace Dwoo\Plugins\Helpers;
use Dwoo\Compiler;
use Dwoo\ICompilable;
use Dwoo\Plugin;
/**
* Builds an array with all the provided variables, use named parameters to make an associative array
* <pre>
* * rest : any number of variables, strings or anything that you want to store in the array
* </pre>
* Example :
* <code>
* {array(a, b, c)} results in array(0=>'a', 1=>'b', 2=>'c')
* {array(a=foo, b=5, c=array(4,5))} results in array('a'=>'foo', 'b'=>5, 'c'=>array(0=>4, 1=>5))
* </code>
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
*/
class PluginArray extends Plugin implements ICompilable
{
/**
* @param Compiler $compiler
* @param array $rest
*
* @return string
*/
public static function compile(Compiler $compiler, array $rest = array())
{
$out = array();
foreach ($rest as $key => $value) {
if (!is_numeric($key) && !strstr($key, '$this->scope')) {
$key = "'" . $key . "'";
}
$out[] = $key . '=>' . $value;
}
return 'array(' . implode(', ', $out) . ')';
}
}