Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
5 / 5 |
PregNativeRecursive | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
3 | |
100.00% |
5 / 5 |
parseSymbol | |
100.00% |
1 / 1 |
3 | |
100.00% |
5 / 5 |
<?php | |
namespace Popy\Calendar\Parser\SymbolParser; | |
use Popy\Calendar\Parser\FormatToken; | |
use Popy\Calendar\Parser\SymbolParserInterface; | |
use Popy\Calendar\Parser\FormatParserInterface; | |
/** | |
* Implementation of the native DateTime recursive formats using preg lexers. | |
*/ | |
class PregNativeRecursive implements SymbolParserInterface | |
{ | |
/** | |
* @inheritDoc | |
*/ | |
public function parseSymbol(FormatToken $token, FormatParserInterface $parser) | |
{ | |
if ($token->is('c')) { | |
// c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00 | |
return $parser->parseFormat('Y-m-d\TH:i:sP', true); | |
} | |
if ($token->is('r')) { | |
// r RFC 2822 formatted date Example: Thu, 21 Dec 2000 16:01:07 +0200 | |
return $parser->parseFormat('D, d M Y H:i:s O', true); | |
} | |
} | |
} |