public function parse() { $format = $this->getFormat(); $open = 0; $close = 0; $len = strlen($format); //Syntax check for ($i = 0; $i < $len; $i++) { if ($format[$i] == $this->getVarOpeningCharacter()) { $open++; } if ($format[$i] == $this->getVarClosingCharacter()) { $close++; } } if ($open !== $close) { throw new \Exception("Syntax error: The layout format {$format} is invalid"); } $parse = array(); $temp = ''; $format = ''; for ($i = 0; $i < $len; $i++) { $v = $format[$i]; if ($v == $this->varOpeningCharacter) { $onBracket = TRUE; continue; } if ($v == $this->varClosingCharacter) { $attributes = array(); $hasColon = strpos($temp, ':'); if ($hasColon !== FALSE) { $attributes = sprintf('%s', substr($temp, $hasColon + 1)); $attributes = json_decode($attributes, $assoc = TRUE); if (!$attributes) { throw new \InvalidArgumentException("Error parsing attributes"); } if (array_key_exists('color', $attributes)) { $format = sprintf('%s%s', $format, '%s'); $parse[] = Ansi::getColor($attributes['color']); } $temp = substr($temp, 0, $hasColon); } $onBracket = FALSE; $format = sprintf('%s%s', $format, array_key_exists('format', $attributes) ? $attributes['format'] : '%s'); $method = sprintf('get%s', trim($temp)); $parse[] = parent::getConfigurableObject()->getConfig()->{$method}(); $temp = ''; continue; } if ($onBracket) { $temp = sprintf('%s%s', $temp, $v); continue; } $format = sprintf('%s%s', $format, $v); } return vsprintf($format, $parse); }
foreach ($dataList as $key => $data) { $ndb->set("{$key}-{$i}", $data); } } $timer->stop(); print "PUT : " . $timer->getTime() . "\n"; $timer->start(); for ($i = 0; $i < $nbrLoops; $i++) { foreach ($dataList as $key => $data) { $ndb->get("{$key}-{$i}"); } } $timer->stop(); print "GET : " . $timer->getTime() . "\n"; // ---------- Memcache print Ansi::bold("Memcache\n"); $timer->start(); for ($i = 0; $i < $nbrLoops; $i++) { foreach ($dataList as $key => $data) { $cache->set("{$key}-{$i}", $data); } } $timer->stop(); print "PUT : " . $timer->getTime() . "\n"; $timer->start(); for ($i = 0; $i < $nbrLoops; $i++) { foreach ($dataList as $key => $data) { $result = $cache->get("{$key}-{$i}"); } } $timer->stop();
function _a($str) { return Ansi::parse($str); }
public static function bgRGB($r, $g = null, $b = null) { return self::bg(Ansi::toAnsi($r, $g, $b)); }
// If not using Composer require 'Ansi.php'; echo Ansi::tagsToColors("<black>< black >\r\n"); echo Ansi::tagsToColors("<red>< red >\r\n"); echo Ansi::tagsToColors("<green>< green >\r\n"); echo Ansi::tagsToColors("<yellow>< yellow >\r\n"); echo Ansi::tagsToColors("<blue>< blue >\r\n"); echo Ansi::tagsToColors("<magenta>< magenta >\r\n"); echo Ansi::tagsToColors("<cyan>< cyan >\r\n"); echo Ansi::tagsToColors("<white>< white >\r\n"); echo Ansi::tagsToColors("<gray>< gray >\r\n"); echo Ansi::tagsToColors("<darkRed>< darkRed >\r\n"); echo Ansi::tagsToColors("<darkGreen>< darkGreen >\r\n"); echo Ansi::tagsToColors("<darkYellow>< darkYellow >\r\n"); echo Ansi::tagsToColors("<darkBlue>< darkBlue >\r\n"); echo Ansi::tagsToColors("<darkMagenta>< darkMagenta >\r\n"); echo Ansi::tagsToColors("<darkCyan>< darkCyan >\r\n"); echo Ansi::tagsToColors("<darkWhite>< darkWhite >\r\n"); echo Ansi::tagsToColors("<darkGray>< darkGray >\r\n"); echo Ansi::tagsToColors("<bgBlack>< bgBlack >\r\n"); echo Ansi::tagsToColors("<bgRed>< bgRed >\r\n"); echo Ansi::tagsToColors("<bgGreen>< bgGreen >\r\n"); echo Ansi::tagsToColors("<bgYellow>< bgYellow >\r\n"); echo Ansi::tagsToColors("<bgBlue>< bgBlue >\r\n"); echo Ansi::tagsToColors("<bgMagenta>< bgMagenta >\r\n"); echo Ansi::tagsToColors("<bgCyan>< bgCyan >\r\n"); echo Ansi::tagsToColors("<bgWhite>< bgWhite >\r\n"); echo Ansi::tagsToColors("<bold>< bold >\r\n"); echo Ansi::tagsToColors("<italics>< italics >\r\n"); echo Ansi::tagsToColors("<reset>< reset >\r\n");