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


PHP Constants::init方法代码示例

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


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

示例1: tokenize

 /**
  * Tokenize a file
  *
  * @param string $fileName    the file name
  * @param string $sourceCode  the source code
  * @return File
  */
 public static function tokenize($fileName, $sourceCode)
 {
     Constants::init();
     $class = '';
     $classFound = false;
     $waitForClassBegin = false;
     $classCurlyLevel = 0;
     $interface = '';
     $interfaceFound = false;
     $waitForInterfaceBegin = false;
     $interfaceCurlyLevel = 0;
     $function = '';
     $functionFound = false;
     $waitForFunctionBegin = false;
     $functionCurlyLevel = 0;
     $namespace = '\\';
     $newNamespace = '';
     $namespaceFound = false;
     $namespaceStarted = false;
     $level = 0;
     $line = 1;
     $column = 1;
     $file = new File($fileName, $sourceCode);
     foreach (token_get_all($sourceCode) as $token) {
         if (is_array($token)) {
             $id = $token[0];
             $text = $token[1];
             $line = $token[2];
         } else {
             try {
                 // it's not a PHP token, so we use one we have defined
                 $id = Constants::getTokenId($token);
                 $text = $token;
             } catch (UnkownTokenException $e) {
                 throw new TokenizerException('Unknown token ' . $e->getTokenName() . ' in file ' . $fileName);
             }
             // This exception is not testable, because we _have_ defined all
             // tokens, hopefully. It's just a safeguard to provide a decent
             // error message should we ever encounter an undefined token.
             // @codeCoverageIgnoreEnd
         }
         $tokenObj = new Token($id, $text, $line, $column);
         if ($tokenObj->hasNewline()) {
             // a newline resets the column count
             $line += $tokenObj->getNewLineCount();
             $column = 1 + $tokenObj->getTrailingWhitespaceCount();
         } else {
             $column += $tokenObj->getLength();
         }
         // We have encountered a T_NAMESPACE token before (this is indicated
         // by $namespaceFound being true, so the T_STRING contains the class
         // name (there will be T_WHITESPACE between T_NAMESPACE and T_STRING).
         // We remember the namespace name, but do not set it until we have
         // encountered the next opening brace or semicolon. We set
         // $waitForNamespaceBegin to true so that we can wait for one of these.
         if ($namespaceFound && $tokenObj->getId() == T_STRING || $namespaceFound && $tokenObj->getId() == T_NS_SEPARATOR) {
             $newNamespace .= $tokenObj->getText();
         }
         // We have encountered a T_CLASS token before (this is indicated
         // by $classFound being true, so the T_STRING contains the class
         // name (there will be T_WHITESPACE between T_CLASS and T_STRING).
         // We remember the class name, but do not set it until we have
         // encountered the next opening brace. We set $waitForClassBegin
         // to true so that we can wait for the next opening curly brace.
         if ($classFound && $tokenObj->getId() == T_STRING) {
             $class = $tokenObj->getText();
             $waitForClassBegin = true;
             $classFound = false;
         }
         // We have encountered a T_INTERFACE token before (this is indicated
         // by $interfaceFound being true, so the T_STRING contains the class
         // name (there will be T_WHITESPACE between T_INTERFACE and T_STRING).
         // We remember the interface name, but do not set it until we have
         // encountered the next opening brace. We set $waitForInterfaceBegin
         // to true so that we can wait for the next opening curly brace.
         if ($interfaceFound && $tokenObj->getId() == T_STRING) {
             $interface = $tokenObj->getText();
             $waitForInterfaceBegin = true;
             $interfaceFound = false;
         }
         // We have encountered a T_FUNCTION token before (this is indicated
         // by $functionFound being true, so the T_STRING contains the class
         // name (there will be T_WHITESPACE between T_FUNCTION and T_STRING).
         // We remember the function name, but do not set it until we have
         // encountered the next opening brace. We set $waitForFunctionBegin
         // to true so that we can wait for the next opening curly brace.
         if ($functionFound && $tokenObj->getId() == T_STRING) {
             $function = $tokenObj->getText();
             $waitForFunctionBegin = true;
             $functionFound = false;
         }
         // T_NAMESPACE token starts a namespace. We set $namespaceFound
         // to true so that we can watch out for the namespace name (see above).
//.........这里部分代码省略.........
开发者ID:spriebsch,项目名称:phpca,代码行数:101,代码来源:Tokenizer.php

示例2: run

 /**
  * PHPca's main method. Returns a result object holding
  * error and warning messages for all the files that have been analyzed.
  *
  * @param string $pathToPhpExecutable path to PHP executable for lint check
  * @param string $fileOrDirectory     path to file or directory to check
  * @return object
  */
 public function run($pathToPhpExecutable, $fileOrDirectory, Configuration $configuration = null)
 {
     if ($pathToPhpExecutable == '') {
         throw new Exception('No path to PHP executable specified');
     }
     if ($fileOrDirectory == '') {
         throw new Exception('No file or directory to analyze');
     }
     if (!is_null($configuration)) {
         $this->configuration = $configuration;
     }
     // Define our own additionl T_* token constants
     Constants::init();
     // Set up the lint checker and make sure that given path points to a PHP binary
     $linter = new Linter($pathToPhpExecutable);
     // Create result object that collects the error and warning messages
     $this->result = new Result();
     // Create a list of all rules to enforce
     $this->rules = $this->loadRules($this->configuration->getRules());
     // List all PHP files in given path
     $phpFiles = $this->listFiles($fileOrDirectory, $this->configuration->getExtensions());
     if (sizeof($phpFiles) == 0) {
         throw new Exception('No PHP files to analyze');
     }
     $this->numberOfFiles = sizeof($phpFiles);
     foreach ($phpFiles as $phpFile) {
         // Remember that we have processed this file,
         // even if it generates no message at all.
         $this->result->addFile($phpFile);
         if ($this->isSkipped($phpFile)) {
             $this->result->addMessage(new Skipped($phpFile, 'Skipped'));
         } else {
             if ($linter->runLintCheck($phpFile)) {
                 $file = Tokenizer::tokenize($phpFile, file_get_contents($phpFile));
                 $this->result->addNamespaces($phpFile, $file->getNamespaces());
                 $this->result->addClasses($phpFile, $file->getClasses());
                 $this->result->addFunctions($phpFile, $file->getFunctions());
                 $this->enforceRules($phpFile, $file);
             } else {
                 $this->result->addMessage(new LintError($phpFile, $linter->getErrorMessages()));
             }
         }
         // Notify the progress printer that we have analyzed a file
         if (is_object($this->progressPrinter)) {
             $this->progressPrinter->showProgress($phpFile, $this->result, $this);
         }
         unset($phpFile);
     }
     // Return the result object containing all error and warning messages
     return $this->result;
 }
开发者ID:ncud,项目名称:sagalaya,代码行数:59,代码来源:Application.php

示例3: testGetTokenNameThrowsExceptionOnUnknownToken

 /**
  * @covers spriebsch\PHPca\Constants::getTokenName
  * @expectedException \RuntimeException
  */
 public function testGetTokenNameThrowsExceptionOnUnknownToken()
 {
     Constants::init();
     Constants::getTokenName(9999);
 }
开发者ID:spriebsch,项目名称:phpca,代码行数:9,代码来源:ConstantsTest.php


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