GitHub - wapmorgan/PhpCodeAnalyzer: PhpCodeAnalyzer scans codebase and analyzes which non-built-in php extensions used (original) (raw)

PhpCodeAnalyzer

PhpCodeAnalyzer finds usage of different non-built-in extensions in your php code. This tool helps you understand how transportable your code between php installations is.

Latest Stable Version Total Downloads License

TOC

Example of usage

To scan your files or folder launch phpca and pass file or directory names.

phpca ..\HttpServer Scanning ..\HttpServer ... [spl] Function "spl_autoload_register" used in file ..\HttpServer/vendor/composer/ClassLoader.php[258] [spl] Function "spl_autoload_unregister" used in file ..\HttpServer/vendor/composer/ClassLoader.php[266] [spl] Function "spl_autoload_register" used in file ..\HttpServer/vendor/composer/autoload_real.php[22] [spl] Function "spl_autoload_unregister" used in file ..\HttpServer/vendor/composer/autoload_real.php[24]

Used non-built-in extensions in your code:

You can skip progress with --no-progress option:

phpca --no-progress ..\yii-1.1.16.bca042\framework\caching Scanning ..\yii-1.1.16.bca042\framework\caching ...

Used non-built-in extensions in your code:

Also, you can keep only progress with --no-report option:

phpca --no-report ..\yii-1.1.16.bca042\framework\caching Scanning ..\yii-1.1.16.bca042\framework\caching ... [apc] Function "apc_fetch" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[46] [apc] Function "apc_fetch" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[56] [apc] Function "apc_store" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[70] [apc] Function "apc_add" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[84] [apc] Function "apc_delete" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[95] [apc] Function "apc_clear_cache" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[107] [apc] Function "apc_clear_cache" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[109] [wincache] Function "wincache_ucache_get" used in file ..\yii-1.1.16.bca042\framework\caching/CWinCache.php[46] [wincache] Function "wincache_ucache_get" used in file ..\yii-1.1.16.bca042\framework\caching/CWinCache.php[56] [wincache] Function "wincache_ucache_set" used in file ..\yii-1.1.16.bca042\framework\caching/CWinCache.php[70] [wincache] Function "wincache_ucache_add" used in file ..\yii-1.1.16.bca042\framework\caching/CWinCache.php[84] [wincache] Function "wincache_ucache_delete" used in file ..\yii-1.1.16.bca042\framework\caching/CWinCache.php[95] [wincache] Function "wincache_ucache_clear" used in file ..\yii-1.1.16.bca042\framework\caching/CWinCache.php[106]

If you want to see only usage of one specific extension, use --extension= option:

phpca --extension=apc ..\yii-1.1.16.bca042\framework\caching Scanning ..\yii-1.1.16.bca042\framework\caching ... [apc] Function "apc_fetch" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[46] [apc] Function "apc_fetch" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[56] [apc] Function "apc_store" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[70] [apc] Function "apc_add" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[84] [apc] Function "apc_delete" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[95] [apc] Function "apc_clear_cache" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[107] [apc] Function "apc_clear_cache" used in file ..\yii-1.1.16.bca042\framework\caching/CApcCache.php[109]

Summary report in this case will not be added at the end.

Help

Full list of available options:

phpca -h PhpCodeAnalyzer Usage: phpca [-v] [-q] [--output=] [--no-report] [--no-progress] [--since-version=] FILES... phpca [-v] [-q] [--output=] --extension= FILES... phpca -h

Options: -h --help Show this text -v --verbose Show more debug text -q --quiet Don't print any messages --output= Path where to generate XML report --extension= Look for usage a specific extension --no-report Turn off summary report --no-progress Turn off progress --since-version= Only include extensions not included since version

Installation

Phar

  1. Just download a phar from releases page and make executable
  2. a. Local installation: use it from current folder:
    b. Global installation: move it in to one of folders listed in your $PATH and run from any folder:
    sudo mv phpca.phar /usr/local/bin/phpca
    phpca -h

Composer

Another way to install phpca is via composer.

  1. Install composer:

curl -sS https://getcomposer.org/installer | php

  1. Install phpcf in global composer dir:

./composer.phar global require wapmorgan/php-code-analyzer dev-master

  1. Run from any folder: