当前位置: 首页>>代码示例>>PHP>>正文


PHP static::parse方法代码示例

本文整理汇总了PHP中static::parse方法的典型用法代码示例。如果您正苦于以下问题:PHP static::parse方法的具体用法?PHP static::parse怎么用?PHP static::parse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在static的用法示例。


在下文中一共展示了static::parse方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: unmarshalize

 /**
  * Decodes raw strings into internal record buffer instances.
  *
  * @param  string $data      handling raw data.
  * @param  Coder &$coder handling raw data.
  * @return null|Record       the resulting record buffer instance.
  */
 public static function unmarshalize($data, CoderInterface &$coder)
 {
     $unmarshalizing = new static();
     if ($data === null) {
         return null;
     }
     return $unmarshalizing->parse(unserialize($data), $coder);
 }
开发者ID:shingoOKAWA,项目名称:yacache-l5-php,代码行数:15,代码来源:MarshalizerTrait.php

示例2: insert

 /**
  * Insert a template.
  *
  * @param string $name The template name.
  * @param array  $data An optional data array.
  *
  * @return void
  */
 public function insert($name, array $data = null)
 {
     $template = new static($name, $this->helpers, $this->strContentType);
     if ($data !== null) {
         $template->setData($data);
     }
     echo $template->parse();
 }
开发者ID:netzmacht,项目名称:contao-toolkit,代码行数:16,代码来源:TemplateTrait.php

示例3: decode

 /**
  * Decodes a NEON string.
  * @param  string
  * @return mixed
  */
 public static function decode($input)
 {
     if (!is_string($input)) {
         throw new Nette\InvalidArgumentException("Argument must be a string, " . gettype($input) . " given.");
     }
     if (!self::$tokenizer) {
         self::$tokenizer = new Tokenizer(self::$patterns, 'mi');
     }
     $input = str_replace("\r", '', $input);
     self::$tokenizer->tokenize($input);
     $parser = new static();
     $res = $parser->parse(0);
     while (isset(self::$tokenizer->tokens[$parser->n])) {
         if (self::$tokenizer->tokens[$parser->n][0] === "\n") {
             $parser->n++;
         } else {
             $parser->error();
         }
     }
     return $res;
 }
开发者ID:exesek,项目名称:nette20login,代码行数:26,代码来源:Neon.php

示例4: reset

 public static function reset()
 {
     static::$compile = array();
     static::$parse = array();
 }
开发者ID:fedeisas,项目名称:lithium,代码行数:5,代码来源:MockFormSignature.php

示例5: parse

 /**
  * Parses a YAML string to a PHP value
  *
  * @param string  $value                  A YAML string
  *
  * @throws ParseException If the YAML is not valid
  * @return mixed  A PHP value
  */
 public function parse($value)
 {
     $this->currentLineNb = -1;
     $this->currentLine = "";
     $value = $this->cleanup($value);
     $this->lines = explode("\n", $value);
     $data = [];
     $context = null;
     while ($this->moveToNextLine()) {
         if ($this->isCurrentLineEmpty()) {
             continue;
         }
         // tab?
         if ($this->currentLine[0] === "\t") {
             throw new ParseException("A YAML file cannot contain tabs as indentation.", $this->getRealCurrentLineNb() + 1, $this->currentLine);
         }
         $isRef = false;
         $isInPlace = false;
         $isProcessed = false;
         if (preg_match("#^\\-((?P<leadspaces>\\s+)(?P<value>.+?))?\\s*\$#u", $this->currentLine, $values)) {
             if ($context && $context === "mapping") {
                 throw new ParseException("You cannot define a sequence item when in a mapping");
             }
             $context = "sequence";
             if (isset($values["value"]) && preg_match("#^&(?P<ref>[^ ]+) *(?P<value>.*)#u", $values["value"], $matches)) {
                 $isRef = $matches["ref"];
                 $values["value"] = $matches["value"];
             }
             // array
             if (!isset($values["value"]) || trim($values["value"], " ") === "" || strpos(ltrim($values["value"], " "), "#") === 0) {
                 $c = $this->getRealCurrentLineNb() + 1;
                 $parser = new static($c);
                 $parser->refs =& $this->refs;
                 $data[] = $parser->parse($this->getNextEmbedBlock(null, true));
             } else {
                 if (isset($values["leadspaces"]) && preg_match("#^(?P<key>" . Inline::REGEX_QUOTED_STRING . "|[^ '\"\\{\\[].*?) *\\:(\\s+(?P<value>.+?))?\\s*\$#u", $values["value"], $matches)) {
                     // this is a compact notation element, add to next block and parse
                     $c = $this->getRealCurrentLineNb();
                     $parser = new static($c);
                     $parser->refs =& $this->refs;
                     $block = $values["value"];
                     if ($this->isNextLineIndented()) {
                         $block .= "\n" . $this->getNextEmbedBlock($this->getCurrentLineIndentation() + strlen($values["leadspaces"]) + 1);
                     }
                     $data[] = $parser->parse($block);
                 } else {
                     $data[] = $this->parseValue($values["value"], $context);
                 }
             }
             if ($isRef) {
                 $this->refs[$isRef] = end($data);
             }
         } elseif (preg_match("#^(?P<key>" . Inline::REGEX_QUOTED_STRING . "|[^ '\"\\[\\{].*?) *\\:(\\s+(?P<value>.+?))?\\s*\$#u", $this->currentLine, $values) && (strpos($values["key"], " #") === false || in_array($values["key"][0], ["\"", "'"]))) {
             if ($context && $context === "sequence") {
                 throw new ParseException("You cannot define a mapping item when in a sequence");
             }
             $context = "mapping";
             // force correct settings
             Inline::parse(null, $this->refs);
             try {
                 $key = Inline::parseScalar($values["key"]);
             } catch (ParseException $e) {
                 $e->setParsedLine($this->getRealCurrentLineNb() + 1);
                 $e->setSnippet($this->currentLine);
                 throw $e;
             }
             // Convert float keys to strings, to avoid being converted to integers by PHP
             if (is_float($key)) {
                 $key = (string) $key;
             }
             if ($key === "<<") {
                 if (isset($values["value"]) && strpos($values["value"], "*") === 0) {
                     $isInPlace = substr($values["value"], 1);
                     if (!array_key_exists($isInPlace, $this->refs)) {
                         throw new ParseException(sprintf("Reference \"%s\" does not exist.", $isInPlace), $this->getRealCurrentLineNb() + 1, $this->currentLine);
                     }
                 } else {
                     if (isset($values["value"]) && $values["value"] !== "") {
                         $value = $values["value"];
                     } else {
                         $value = $this->getNextEmbedBlock();
                     }
                     $c = $this->getRealCurrentLineNb() + 1;
                     $parser = new static($c);
                     $parser->refs =& $this->refs;
                     $parsed = $parser->parse($value);
                     $merged = [];
                     if (!is_array($parsed)) {
                         throw new ParseException("YAML merge keys used with a scalar value instead of an array.", $this->getRealCurrentLineNb() + 1, $this->currentLine);
                     } elseif (isset($parsed[0])) {
                         // Numeric array, merge individual elements
                         foreach (array_reverse($parsed) as $parsedItem) {
//.........这里部分代码省略.........
开发者ID:eserozvataf,项目名称:scabbia2-yaml,代码行数:101,代码来源:Parser.php

示例6: cexecute

 /**
  * Execute lessphp on a .less file or a lessphp cache structure
  * 
  * The lessphp cache structure contains information about a specific
  * less file having been parsed. It can be used as a hint for future
  * calls to determine whether or not a rebuild is required.
  * 
  * The cache structure contains two important keys that may be used
  * externally:
  * 
  * compiled: The final compiled CSS
  * updated: The time (in seconds) the CSS was last compiled
  * 
  * The cache structure is a plain-ol' PHP associative array and can
  * be serialized and unserialized without a hitch.
  * 
  * @param mixed $in Input
  * @param bool $force Force rebuild?
  * @return array lessphp cache structure
  */
 public static function cexecute($in, $force = false)
 {
     // assume no root
     $root = null;
     if (is_string($in)) {
         $root = $in;
     } elseif (is_array($in) and isset($in['root'])) {
         if ($force or !isset($in['files'])) {
             // If we are forcing a recompile or if for some reason the
             // structure does not contain any file information we should
             // specify the root to trigger a rebuild.
             $root = $in['root'];
         } elseif (isset($in['files']) and is_array($in['files'])) {
             foreach ($in['files'] as $fname => $ftime) {
                 if (!file_exists($fname) or filemtime($fname) > $ftime) {
                     // One of the files we knew about previously has changed
                     // so we should look at our incoming root again.
                     $root = $in['root'];
                     break;
                 }
             }
         }
     } else {
         // TODO: Throw an exception? We got neither a string nor something
         // that looks like a compatible lessphp cache structure.
         return null;
     }
     if ($root !== null) {
         // If we have a root value which means we should rebuild.
         $less = new static($root);
         $out = array();
         $out['root'] = $root;
         $out['compiled'] = $less->parse();
         $out['files'] = $less->allParsedFiles();
         $out['updated'] = time();
         return $out;
     } else {
         // No changes, pass back the structure
         // we were given initially.
         return $in;
     }
 }
开发者ID:kylekatarnls,项目名称:utils,代码行数:62,代码来源:Lessc.php

示例7: includeFile

 protected function includeFile($filename)
 {
     if (!($file = $this->filenameToFile($filename))) {
         throw new Exception\FileNotFoundException(sprintf("Included file '%s' not found. Require trace:\n%s", $filename, var_export($this->_parents_trace(), true)));
     }
     $parser = new static($file, $this);
     $parser->parse($this->parseType);
     if ($this->parseType == Base::PARSE_TYPE_GET_PATHS) {
         $this->urlPaths = array_merge($this->urlPaths, $parser->urlPaths());
     }
     $this->firstParent()->add_required_file($file);
     $this->parsedFile[] = $parser->parsed_file();
 }
开发者ID:railsphp,项目名称:railsphp,代码行数:13,代码来源:Base.php

示例8: autoParse

 public static function autoParse(ReflectionFunctionAbstract $ref, SourceScanner $scanner) : FuncParser
 {
     $parser = new static($ref);
     return $parser->parse($scanner);
 }
开发者ID:janpoem,项目名称:kephp,代码行数:5,代码来源:FuncParser.php

示例9: innerCode

 public function innerCode($input, $name)
 {
     $handler = new static($input, $name);
     return $handler->parse();
 }
开发者ID:XaBerr,项目名称:JUICE,代码行数:5,代码来源:CodeHandler.php

示例10: insert

 /**
  * Insert a template
  *
  * @param string $name The template name
  * @param array  $data An optional data array
  */
 public function insert($name, array $data = null)
 {
     $tpl = new static($name);
     if ($data !== null) {
         $tpl->setData($data);
     }
     echo $tpl->parse();
 }
开发者ID:iCodr8,项目名称:core,代码行数:14,代码来源:BaseTemplate.php

示例11: parseTokensOnNextLevel

 /**
  * Parses all following token on a higher level
  *
  * @return array[mixed]
  */
 protected function parseTokensOnNextLevel()
 {
     $onHigherLevel = true;
     $tokens = array();
     while ($onHigherLevel && !$this->parserIsDone()) {
         // if the token is not a whitespace we are done
         if ($this->currentToken()->type !== 'whitespace') {
             $onHigherLevel = false;
         } else {
             // remove on level by skipping one token
             $this->skipToken();
             // add all tokens until the next linebreak
             while (!$this->isEndOfExpression()) {
                 $tokens[] = $this->currentToken();
                 $this->skipToken();
             }
             // also add the end of expression token and skip it
             // if the parser is not done yet
             if (!$this->parserIsDone()) {
                 $tokens[] = $this->currentToken();
                 $this->skipToken();
             }
         }
     }
     // create a new parser
     $parser = new static($tokens);
     // add the result
     return $parser->parse();
 }
开发者ID:mario-deluna,项目名称:hip,代码行数:34,代码来源:Parser.php

示例12: deserialize

 public static function deserialize($data, Protobuf\CodecInterface $codec = null)
 {
     $retval = new static();
     $retval->parse($data, $codec);
     return $retval;
 }
开发者ID:xuwei-k,项目名称:Protobuf-PHP,代码行数:6,代码来源:Message.php

示例13: parseFootnotes

 /**
  * Check pages and set parse status.
  */
 public static function parseFootnotes()
 {
     $request = RequestHandler::getInstance()->getActiveRequest();
     $pageName = StringUtil::toLowerCase($request->getPageName());
     $allowedPages = ArrayUtil::trim(explode("\n", StringUtil::toLowerCase(BBCODES_FOOTNOTE_PARSE_PAGE)));
     if (in_array($pageName, $allowedPages)) {
         static::$parse = true;
     } else {
         static::$parse = false;
     }
 }
开发者ID:Zumarta,项目名称:de.teralios.bbcodes,代码行数:14,代码来源:FootnoteBBCode.class.php

示例14: parseStatic

 /**
  * This static method will instantiate a new object as validation model
  * to parse the input value
  * @param mixed $value Input value to validate
  */
 public static function parseStatic($value)
 {
     $validationObject = new static();
     return $validationObject->parse($value);
 }
开发者ID:phramework,项目名称:validate,代码行数:10,代码来源:BaseValidator.php


注:本文中的static::parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。