Пример #1
0
 /**
  * Checks for any libxml errors and logs them.
  *
  * @param EveApiReadWriteInterface $data
  * @param MediatorInterface        $yem
  *
  * @throws \DomainException
  * @throws \InvalidArgumentException
  * @throws \LogicException
  * @throws \UnexpectedValueException
  */
 protected function checkLibXmlErrors(EveApiReadWriteInterface $data, MediatorInterface $yem)
 {
     /**
      * @var \libXMLError[] $errors
      */
     $errors = libxml_get_errors();
     if (0 !== count($errors)) {
         foreach ($errors as $error) {
             switch ($error->level) {
                 case LIBXML_ERR_WARNING:
                     $messagePrefix = 'Libxml Warning';
                     $level = Logger::NOTICE;
                     break;
                 case LIBXML_ERR_ERROR:
                     $messagePrefix = 'Libxml Error';
                     $level = Logger::WARNING;
                     break;
                 case LIBXML_ERR_FATAL:
                     $messagePrefix = 'Libxml Fatal Error';
                     $level = Logger::ERROR;
                     break;
                 default:
                     $messagePrefix = '';
                     $level = Logger::DEBUG;
                     break;
             }
             if ('' !== $messagePrefix) {
                 $messagePrefix .= sprintf(' %u: %s - Col: %u Line: %u during the transform of', $error->code, trim($error->message), $error->column, $error->line);
                 $yem->triggerLogEvent('Yapeal.Log.log', $level, $this->createEveApiMessage($messagePrefix, $data));
             }
         }
     }
 }
Пример #2
0
 /**
  * @param ContainerInterface $dic
  * @param MediatorInterface  $mediator
  */
 private function wireCreator(ContainerInterface $dic, MediatorInterface $mediator)
 {
     if (empty($dic['Yapeal.EveApi.Creator'])) {
         $dic['Yapeal.EveApi.Creator'] = function () use($dic) {
             $loader = new \Twig_Loader_Filesystem($dic['Yapeal.EveApi.dir']);
             $twig = new \Twig_Environment($loader, ['debug' => true, 'strict_variables' => true, 'autoescape' => false]);
             $filter = new \Twig_SimpleFilter('ucFirst', function ($value) {
                 return ucfirst($value);
             });
             $twig->addFilter($filter);
             $filter = new \Twig_SimpleFilter('lcFirst', function ($value) {
                 return lcfirst($value);
             });
             $twig->addFilter($filter);
             /**
              * @var \Yapeal\EveApi\Creator $create
              */
             $create = new $dic['Yapeal.EveApi.Handlers.create']($twig, $dic['Yapeal.EveApi.dir']);
             if (!empty($dic['Yapeal.Create.overwrite'])) {
                 $create->setOverwrite($dic['Yapeal.Create.overwrite']);
             }
             return $create;
         };
         $mediator->addServiceListener('Yapeal.EveApi.create', ['Yapeal.EveApi.Creator', 'createEveApi'], 'last');
     }
 }