什么是phpmd以及如何使用它?

时间:2015-01-15 07:05:21

标签: composer-php sublimetext3 ubuntu-14.04 phpmd

我有Ubuntu 14.04 + Sublime text 3并安装了phpcs包

另外,我在我的系统上安装了phpcsphp-cs-fixer

来自this blog

我发现 phpmd PHP Mess Detector )也是必需的库,因此根据{{上的指示安装 phpmd 3}}页面使用替代方法 从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:找不到命令

主目录上有 phpmd 文件夹,所有内容都没有任何错误。

根据official php md的建议,我在项目文件夹中创建了核心PHP创建composer.json的本地项目。

请告诉我

的含义
  

然后在项目中安装Composer (或直接下载composer.phar):

2 个答案:

答案 0 :(得分:28)

我认为问题是您已将phpmd安装在本地目录中,但您正在尝试使用它,就像它是全局安装一样。

参考网站上的安装说明真的可以更清楚了。由于您已经安装了phpcs和php-cs-fixer,并且那些适用于您,只需遵循phpmd的类似说明即可。这些都是PHP项目,并以类似的方式安装。

无论如何,要使用phpmd作为全局命令,您有几种选择。

<强> Github上

像您一样克隆github repository并将phpmd bin目录添加到your PATH variable

全球作曲家安装

使用composer global command全局安装phpmd。您还需要确保作曲家的bin目录位于PATH中。默认情况下,它是~/.composer/vendor/bin

composer global require phpmd/phpmd

此命令将全局安装phpmd,只要~/.composer/vendor/bin PATH位于phpmd,您就可以通过调用PATH来调用它。

在作曲家的文档中对此进行了很好的解释:https://getcomposer.org/doc/03-cli.md#global

下载phar存档

这是你能做的最简单的事情。只需转到phpmd releaseschoose the latest并下载the phar archive即可。

将phar文件放到您喜欢的任何地方。请记住,它需要在您的.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 扩展程序。

例如:

git pull jakzal/phpqa

Docker容器

首先,使用static analysis tools for PHP

获取泊坞窗图像
docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa \
    phpmd src text cleancode,codesize,controversial,design,naming,unusedcode

图像提供的工具之一是phpmd。下面的命令将在docker容器中运行phpmd,并将当前工作目录挂载为/ project。

{{1}}

答案 1 :(得分:2)

当您使用基于composer的安装时,它将安装到./bin目录中的./vendors目录中。所以对我来说,相对于我项目的根目录,它就在这里:

./vendor/bin/phpmd

我能够通过运行./vendor/bin/phpmd . text codesize从项目的根目录运行它。 (我还没有得到任何有用的输出,但另一个问题)