什么是 phpmd 以及如何使用它?
what is phpmd and how to use it?
我有 Ubuntu 14.04 + Sublime text 3 并安装了 phpcs 包
另外我在我的系统上安装了 phpcs
和 php-cs-fixer
我发现 phpmd (PHP Mess Detector) 也是一个必需的库,所以安装 phpmd 按照 official php md 页面上的给定说明使用替代方法 来自 github 存储库一切都结束了。
:~/phpmd$ curl -s http://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /home/keshav/phpmd/composer.phar
Use it: php composer.phar
但是现在当我在终端上写的时候
phpmd /opt/lampp/htdocs/myproject, myfile.php
phpmd: command not found
Home 目录下有 phpmd 文件夹,一切正常。
我在核心 PHP 上有本地项目,按照 github 上的建议在项目文件夹中创建 composer.json
。
请告诉我
是什么意思
Then install Composer in your project (or download the composer.phar directly):
我认为问题在于您已经在本地目录中安装了 phpmd,但您却试图像在全局安装一样使用它。
参考站点上的安装说明再清楚不过了。由于您已经安装了 phpcs 和 php-cs-fixer,并且它们对您有用,因此只需按照 phpmd 的类似说明进行操作。这些都是 PHP 个项目,安装方式类似。
无论如何,要将 phpmd 用作全局命令,您有多种选择。
Github
克隆 github repository just like you did and add the phpmd bin directory to your PATH
variable.
全局作曲家安装
使用 composer global command 全局安装 phpmd。您还需要确保 composer 的 bin 目录在 PATH
中。默认为 ~/.composer/vendor/bin
.
composer global require phpmd/phpmd
此命令将全局安装 phpmd,一旦 ~/.composer/vendor/bin
在您的 PATH
中,您就可以通过简单地调用 phpmd
来调用它.
作曲家的文档中对此有很好的解释:https://getcomposer.org/doc/03-cli.md#global
下载 phar 存档
这是您可以做的最简单的事情。只需转到 phpmd releases, choose the latest and download the phar archive.
将 phar 文件放到任何你喜欢的地方。请记住,它需要在您的 PATH
中。您也可以重命名它,以跳过 .phar
扩展名。
例如:
wget http://static.phpmd.org/php/2.1.3/phpmd.phar
sudo mv phpmd.phar /usr/bin/phpmd
sudo chmod +x /usr/bin/phpmd
Docker 容器
首先,使用 static analysis tools for PHP 获取 docker 图像:
docker pull jakzal/phpqa
镜像提供的工具之一是phpmd。下面的命令将在 docker 容器中 运行 phpmd 并将当前工作目录挂载为 /project.
docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa \
phpmd src text cleancode,codesize,controversial,design,naming,unusedcode
当您使用基于 composer
的安装时,它会安装到 ./vendors
目录中的 ./bin
目录中。所以对我来说,相对于我项目的根目录,它在这里:
./vendor/bin/phpmd
而且我能够通过 运行ning ./vendor/bin/phpmd . text codesize
从我项目的根目录中 运行 它。 (我还没有得到任何有用的输出,但是另一个问题)
我有 Ubuntu 14.04 + Sublime text 3 并安装了 phpcs 包
另外我在我的系统上安装了 phpcs
和 php-cs-fixer
我发现 phpmd (PHP Mess Detector) 也是一个必需的库,所以安装 phpmd 按照 official php md 页面上的给定说明使用替代方法 来自 github 存储库一切都结束了。
:~/phpmd$ curl -s http://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /home/keshav/phpmd/composer.phar
Use it: php composer.phar
但是现在当我在终端上写的时候
phpmd /opt/lampp/htdocs/myproject, myfile.php
phpmd: command not found
Home 目录下有 phpmd 文件夹,一切正常。
我在核心 PHP 上有本地项目,按照 github 上的建议在项目文件夹中创建 composer.json
。
请告诉我
是什么意思Then install Composer in your project (or download the composer.phar directly):
我认为问题在于您已经在本地目录中安装了 phpmd,但您却试图像在全局安装一样使用它。
参考站点上的安装说明再清楚不过了。由于您已经安装了 phpcs 和 php-cs-fixer,并且它们对您有用,因此只需按照 phpmd 的类似说明进行操作。这些都是 PHP 个项目,安装方式类似。
无论如何,要将 phpmd 用作全局命令,您有多种选择。
Github
克隆 github repository just like you did and add the phpmd bin directory to your PATH
variable.
全局作曲家安装
使用 composer global command 全局安装 phpmd。您还需要确保 composer 的 bin 目录在 PATH
中。默认为 ~/.composer/vendor/bin
.
composer global require phpmd/phpmd
此命令将全局安装 phpmd,一旦 ~/.composer/vendor/bin
在您的 PATH
中,您就可以通过简单地调用 phpmd
来调用它.
作曲家的文档中对此有很好的解释:https://getcomposer.org/doc/03-cli.md#global
下载 phar 存档
这是您可以做的最简单的事情。只需转到 phpmd releases, choose the latest and download the phar archive.
将 phar 文件放到任何你喜欢的地方。请记住,它需要在您的 PATH
中。您也可以重命名它,以跳过 .phar
扩展名。
例如:
wget http://static.phpmd.org/php/2.1.3/phpmd.phar
sudo mv phpmd.phar /usr/bin/phpmd
sudo chmod +x /usr/bin/phpmd
Docker 容器
首先,使用 static analysis tools for PHP 获取 docker 图像:
docker pull jakzal/phpqa
镜像提供的工具之一是phpmd。下面的命令将在 docker 容器中 运行 phpmd 并将当前工作目录挂载为 /project.
docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa \
phpmd src text cleancode,codesize,controversial,design,naming,unusedcode
当您使用基于 composer
的安装时,它会安装到 ./vendors
目录中的 ./bin
目录中。所以对我来说,相对于我项目的根目录,它在这里:
./vendor/bin/phpmd
而且我能够通过 运行ning ./vendor/bin/phpmd . text codesize
从我项目的根目录中 运行 它。 (我还没有得到任何有用的输出,但是另一个问题)