search
Homephp教程php手册在vim中调试php, 安装php code

1:安装php code sniffer 和 php md php code sniffer a: centos系的 #yum install php-pear #yum install ImageMagick-devel #pear install PHP_CodeSniffer #pear channel-discover pear.phpmd.org #pear channel-discover pear.pdepend.org #pear install

1:安装php code sniffer 和 php md

php code sniffer

a: centos系的 

#yum install php-pear

#yum install ImageMagick-devel

#pear install PHP_CodeSniffer

#pear channel-discover pear.phpmd.org

#pear channel-discover pear.pdepend.org

#pear install --alldeps phpmd/PHP_PMD 

修改php.ini文件,加入extension=imagick.so


debian系的 

#apt-get install php-pear

#apt-get install php5-imagick imagemagick

后面和上面centos的一样,

只是不需要修改php.ini 加入imagick 扩展.


2:vim 里面

:!php -l % 这个是检查当前php文件语法参数

:phpcs 这个就是code sniffer了

:phpmd  这个是mess detector , 需要一个XML规则文件如果没有设置

:phpcc  这个显示code coverage. 也需要一个XML规则文件如果没有设置


3:安装phpqa.vim 

https://github.com/rainysia/vimrc/commits/master

去clone下来,放到$~.vim里面, 注意是user下面的.vim 

在.vimrc里面加上

let g:phpqa_codesniffer_args = "--standard=Zend"
let g:phpqa_codesniffer_cmd  = '/usr/bin/phpcs' 
let g:phpqa_codesniffer_autorun = 1        "  default =1 on save
let g:phpqa_messdetector_ruleset = ''
let g:phpqa_messdetector_cmd = '/usr/bin/phpmd'
let g:phpqa_messdetector_autorun = 0

其中cmd 这两个是上面第一步安装后 type出来的路径, 

2013-10-31 更新

参数里面的 --standard=Zend 意思是codesniffer采用Zend的编码风格来效验。 你可以自定义一些效验规则, 这个规则在debian里面

/usr/share/php/PHP/CodeSniffer/Standards/ 

里面,你可以把自定义的放进去。然后把


let g:phpqa_codesniffer_args = "--standard=Zend"
改为
let g:phpqa_codesniffer_args = "--standard=自定义的"

就可以使用自定义的代码风格效验了.


参数参考 

http://pear.php.net/manual/en/package.php.php-codesniffer.config-options.php


#type phpcs

/usr/bin/phpcs

autorun = 1是自动开启 ,当你保存的时候就会自动运行提示了

把下面的内容保存为phpmd.xml ,保存在vim文件里面,然后打开任意的php文件,保存的时候会提示让你输入phpmd的文件所在,填你刚才保存的路径和phpmd.xml 然后就可以了

<?xml version="1.0"?>
<ruleset name="Sebastian" xmlns="http://pmd.sf.net/ruleset/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:nonamespaceschemalocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
  <description>Sebastian Bergmann's ruleset</description>

  <rule ref="rulesets/codesize.xml/CyclomaticComplexity"></rule>
  <rule ref="rulesets/codesize.xml/NPathComplexity"></rule>
  <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity"></rule>
  <rule ref="rulesets/codesize.xml/ExcessiveClassLength"></rule>
  <rule ref="rulesets/codesize.xml/ExcessiveMethodLength"></rule>
  <rule ref="rulesets/codesize.xml/ExcessiveParameterList"></rule>

  <rule ref="rulesets/design.xml/EvalExpression"></rule>
  <rule ref="rulesets/design.xml/ExitExpression"></rule>
  <rule ref="rulesets/design.xml/GotoStatement"></rule>

  <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass"></rule>

  <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"></rule>
  <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"></rule>
  <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"></rule>
  <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"></rule>
</ruleset>

现在做下测试,打开vim 输入<?php ?>  然后:w保存,提示错误,说php不能关闭..看来语法要求很严格. 去掉?> 然后保存就没错误提示了.

<?php ?>



在vim中调试php, 安装php code

具体的可以在shell里面 -h 查看使用

参考网址

http://phpmd.org/download/index.html 安装phpmd

http://pear.php.net/package/PHP_CodeSniffer/redirected php code sniffer

http://blog.csdn.net/xinhaozheng/article/details/3324796 php code sniffer的使用

http://developer.51cto.com/art/201105/261292.htm    php mess detor的使用

http://coreymaynard.com/blog/finding-what-stinks-and-cleaning-up-the-mess/ 相关xml声明

http://joncairns.com/2012/05/using-vim-as-a-php-ide/#comment-133 phpqa的文章

https://github.com/joonty/vim-phpqa     还是phpqa的


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何在 iPad 键盘上添加 Escape 键如何在 iPad 键盘上添加 Escape 键Apr 16, 2023 pm 01:43 PM

如何在iPad键盘上将CapsLock重新映射为ESC准备好让CapsLock成为iPad上的ESC键了吗?这是您需要做的所有事情:在iPad上打开“设置”应用转到“常规”,然后转到“键盘”转到“硬件键盘”选择“修改键”选择“CapsLockKey”并选择“Escape”作为修饰键现在您已准备好通过按CapsLock在iPad上试用新的硬件ESC键。转到任何使用Escape键的应用程序,您可以立即对其进行测试,例如vi/vim。现在您可以使用物理键盘从

linux中如何使用Vim删除偶数行或奇数行linux中如何使用Vim删除偶数行或奇数行May 22, 2023 pm 05:07 PM

删除偶数行的方法如下::g/^/+1d上面用到了:gbobal命令,gbobal命令格式如下::[range]global/{pattern}/{command}global命令实际上是分成两步执行:首先扫描[range]指定范围内的所有行,给匹配{pattern}的行打上标记;然后依次对打有标记的行执行{command}命令,如果被标记的行在对之前匹配行的命令操作中被删除、移动或合并,则其标记自动消失,而不对该行执行{command}命令。{command}可以是一个ex命令,也可以是用|分隔

浅析Alpine Linux上安装Vim的3种方法浅析Alpine Linux上安装Vim的3种方法Mar 24, 2023 pm 02:28 PM

在 PHP 开发中,使用 Vim 是非常普遍的。然而,在 Alpine Linux 中安装 Vim 可能会遇到一些问题。本篇文章将分享如何在 Alpine Linux 上安装 Vim。

vim怎么保存退出vim怎么保存退出Aug 01, 2023 am 10:47 AM

vim保存退出的方法:1、使用快捷键保存并退出;2、使用单独的命令保存并退出;3、使用自动命令保存并退出;4、使用快捷键保存文件。

Linux小技巧:取消vim粘贴时的自动缩进Linux小技巧:取消vim粘贴时的自动缩进Mar 07, 2024 am 08:30 AM

前言vim是个强大的文本编辑的工具,在Linux端得到极大的使用热度。最近在另外一台服务器上使用vim时,遇到了一个奇怪的问题:当我将本地编写好的脚本复制并粘贴到服务器中的空白文件时,出现了自动缩进的情况。用个简单的例子来说,就是我在本地写的脚本如下:aaabbbcccddd当我将上述内容复制后,粘贴到服务器中的空白文件后得到的却是:aabbbcccddd很明显,这是vim给我们自动进行了格式缩进。但是,这个自动有点不智能。这里记录下解决方案。解决方案:设置.vimrc配置文件我们在家目录下,新

Laravel开发:如何使用Laravel Tinker进行交互式调试?Laravel开发:如何使用Laravel Tinker进行交互式调试?Jun 13, 2023 pm 04:33 PM

Laravel是一个流行的PHP框架,它提供了一种叫做Tinker的交互式命令行工具。Tinker是通过命令行与应用交互的一种简单而强大的方式,使用它可以轻松地测试和调试Laravel应用程序。本文将介绍如何在Laravel中使用Tinker进行交互式调试,包括如何安装和使用它。安装TinkerTinker是Laravel的默认包,因此它已经包含在了Lara

CentOS安装smbclient及Centos安装vimCentOS安装smbclient及Centos安装vimFeb 13, 2024 pm 04:30 PM

在CentOS操作系统中,smbclient和vim是两个非常常用的工具,smbclient是一个用于与SMB/CIFS服务器进行通信的客户端工具,而vim是一款强大的文本编辑器,本文将详细介绍如何在CentOS上安装smbclient和vim,并提供一些相关的使用技巧。1.打开终端并以root用户身份登录。2.运行以下命令以更新系统软件包列表:```yumupdate3.运行以下命令以安装smbclient:yuminstallsmbclient4.系统将提示您确认安装,按下y键并按下回车键以

5分钟学会 Vim 分屏操作方方面面5分钟学会 Vim 分屏操作方方面面Aug 03, 2023 pm 03:20 PM

Vim分屏功能是通过分割窗口来实现的,这是提高工作效率的一大利器。无论我们想同时显示两个文件,或者同时显示一个文件的两个不同的位置,又或者并排比较两个文件,等等,这些都能通过分屏来实现,这样子很方便代码的比对和复制粘贴。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor