lajax / yii2-project-scanner
Yii2 项目扫描扩展
1.0.0
2016-09-06 18:35 UTC
Requires
- yiisoft/yii2: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-17 21:31:08 UTC
README
Yii2 项目扫描扩展
安装
##composer
安装此扩展的首选方法是使用 composer.
运行以下命令之一
composer require lajax/yii2-project-scanner
或
"lajax/yii2-project-scanner": "^1.0.0"
将以下内容添加到您的 composer.json
文件的 require 部分。
使用方法
##配置
###最小配置
[ 'components' => [ // ... 'scanner' => lajax\projectscanner\Scanner::className(), // ... ], ],
###完整配置
[ 'components' => [ // ... 'scanner' => [ 'class' => lajax\projectscanner\Scanner::className(), 'scanTimeLimit' => null, 'ignoredCategories' => [], 'ignoredItems' => [ '.svn', '.git', '.gitignore', '.gitattributes', '.gitkeep', '.hgignore', '.hgkeep', '/messages', '/BaseYii.php', 'runtime', 'bower', 'nikic', ], 'roots' => [ '@backend', '@common', '@console', '@frontend', '@vendor', ], 'scanners' => [ 'dbScanner' => [ 'class' => lajax\projectscanner\scanners\DbScanner::className(), 'category' => 'database', 'tables' => [ [ 'connection' => 'db', 'table' => 'language', 'columns' => ['name', 'name_ascii'], 'category' => 'tableName', ], [ 'connection' => 'db', 'table' => 'tag', 'columns' => ['name'], 'category' => 'tableName', ], [ 'connection' => 'db', 'table' => 'category', 'columns' => ['name', 'description'], ], ], ], 'jsScanner' => [ 'class' => lajax\projectscanner\scanners\JsScanner::className(), 'extension' => '*.js', 'translators' => ['lajax.t'], 'category' => 'javascript', ], 'phpArrayScanner' => [ 'class' => lajax\projectscanner\scanners\PhpArrayScanner::className(), 'extension' => '*.php', 'category' => 'array', 'patternArrayTranslator' => '#\@translate[^\$]+(?P<translator>[\w\d\s_]+[^\(\[]+)#s', ], 'phpFunctionScanner' => [ 'class' => lajax\projectscanner\scanners\PhpFunctionScanner::className(), 'extension' => '*.php', 'translators' => ['::t'], ], ], ], // ... ], ], ##Scanning project ```php $scannerResult = \Yii::$app->scanner->execute();
###结果
$scannerResult->languageElements; *Array* List of language elements. [ ['category' => 'messageCategory', 'message' => 'languageElement'], ['category' => 'messageCategory', 'message' => 'languageElement'], // ... ] $scannerResult->numberOfLanguageElements; *Integer* Number of language elements. $scannerResult->filteredLanguageElements; *Array* List of language elements. [ 'messageCategory' => [ 'languageElement' => true ] ] [ 'messageCategory' => [ 'languageElement' => true ] ] [ 'messageCategory' => [ 'languageElement' => true ] ]