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 ] ]