當前位置: 首頁>>代碼示例>>PHP>>正文


PHP FileGenerator::getUses方法代碼示例

本文整理匯總了PHP中Zend\Code\Generator\FileGenerator::getUses方法的典型用法代碼示例。如果您正苦於以下問題:PHP FileGenerator::getUses方法的具體用法?PHP FileGenerator::getUses怎麽用?PHP FileGenerator::getUses使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Zend\Code\Generator\FileGenerator的用法示例。


在下文中一共展示了FileGenerator::getUses方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: replaceNamespace

 /**
  * Search for unnecessary namespace imports and definitions and replace occurrences.
  *
  * @param FileGenerator $fileGenerator
  * @return string Generated code
  */
 public function replaceNamespace(FileGenerator $fileGenerator)
 {
     $uses = [];
     $search = [];
     $replace = [];
     foreach ($fileGenerator->getUses() as $import) {
         $namespace = trim(substr($import[0], 0, strrpos($import[0], '\\')), '\\');
         if ($fileGenerator->getNamespace() !== $namespace) {
             $uses[] = $import;
         }
         $name = trim(substr($import[0], strrpos($import[0], '\\')), '\\');
         $search[] = '\\' . $import[0];
         $search[] = ', \\' . $import[0];
         $replace[] = $name;
         $replace[] = ', ' . $name;
     }
     // workaround to reset use imports
     $reflection = new \ReflectionClass($fileGenerator);
     $property = $reflection->getProperty('uses');
     $property->setAccessible(true);
     $property->setValue($fileGenerator, $uses);
     $code = $fileGenerator->generate();
     return str_replace($search, $replace, $code);
 }
開發者ID:proophsoftware,項目名稱:prooph-cli,代碼行數:30,代碼來源:ReplaceNamespaceTrait.php

示例2: testSetUsesWithGetUses

 public function testSetUsesWithGetUses()
 {
     $file = new FileGenerator();
     $uses = array('Your\\Bar', 'My\\Baz', array('use' => 'Another\\Baz', 'as' => 'Baz2'));
     $file->setUses($uses);
     $file->setUses($file->getUses());
     $generated = $file->generate();
     $this->assertContains('use My\\Baz;', $generated);
     $this->assertContains('use Your\\Bar;', $generated);
     $this->assertContains('use Another\\Baz as Baz2;', $generated);
 }
開發者ID:pnaq57,項目名稱:zf2demo,代碼行數:11,代碼來源:FileGeneratorTest.php

示例3: removeUseFunctionsFromBackslashing

 /**
  * If a method exists under a namespace and has been aliased, or has been imported, don't replace.
  *
  * @param FileGenerator $generator
  * @param array         $functions
  *
  * @return array
  */
 private function removeUseFunctionsFromBackslashing(FileGenerator $generator, array $functions)
 {
     foreach ($generator->getUses() as $namespacedFunction) {
         list($functionOrClass) = $namespacedFunction;
         if (\function_exists($functionOrClass)) {
             $function = \explode("\\", $functionOrClass);
             $function = \array_pop($function);
             if (!empty($functions[$function])) {
                 unset($functions[$function]);
             }
         }
     }
     return $functions;
 }
開發者ID:nilportugues,項目名稱:php_backslasher,代碼行數:22,代碼來源:FileEditor.php


注:本文中的Zend\Code\Generator\FileGenerator::getUses方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。