PHP代码自动检测(git/svn集成PHP_CodeSniffer)
内容导读
收集整理的这篇技术教程文章主要介绍了PHP代码自动检测(git/svn集成PHP_CodeSniffer),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2624字,纯文字阅读大概需要4分钟。
内容图文
这篇文章主要介绍了关于PHP代码自动检测(git/svn集成PHP_CodeSniffer),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下背景
在公司开发的时候,每次不管svn还是git提交代码的时候都会对代码进行简单的自动检测。检查不了代码逻辑,但是最起码能保证整体的编码格式保持一致。这个功能还是挺有用的,一直想了解下是怎么实现的,直到最近想起来才开始了解这个自动检测是怎么回事。
研究途径
一般公司的doc文档上会记录各种系统的某个功能的具体实现,而且很可能不止一个文档,在公司的doc文档上各种关键字搜索都找不到相关资料
找到对应部门的同事询问是如何实现的。同事给了答复是PHP_CodeSniffer并且告知了github链接。并且明确告知:文档?不可能的。然后加了一句,网上什么都有
最后就自己在Baidu/Google了几篇文章,差不多就了解了
实践部分
PHP_CodeSniffer的安装 参考资料
pear install PHP_CodeSniffer
我直接使用了pear方式安装,简单方便很多。使用pear安装的扩展库基本上默认在php的安装目录下,比如我的:/opt/php-7.1.9/lib/php/PHP/CodeSniffer。大家可以参考下自己的安装目录。
命令行直接使用PHP_CodeSniffer如下:
phpcs test.php
设置PHP_CodeSniffer的代码规范格式。
# /opt/php-7.1.9/lib/php/PHP/CodeSniffer/src/Standards # 这个目录下列出了所有可以设置的格式(PSR1,PSR2,PSR12,Zend,Squiz等)phpcs --config-set default_standard Zend
svn/git安装
这里不展开描述了,由于我在虚拟机上安装也花了一些时间,都是参考网上的资料。
将PHP_CodeSniffer集成到git/svn中
每部署一个svn项目,都会对应的配置文件,其中有个hooks文件夹,其中有pre-commit,在这个文件中加上phpcs 的命令就好了。
git的原理是一样的,都是有个hooks的文件夹,其中都有pre-commit。
差别:我们公司svn是在commit的过程中进行的自动检测,git是在git push的时候进行检测操作的。猜想应该自动代码检测肯定是集成在工程代码所在的服务端是最好的。svn commit的时候就直接访问的远程主机。但是git commit的时候是将代码保存在本地分支,只有git push的时候才是提交到远程主机,所以git就是在git push的时候进行的自动检测操作。
写在最后
通过了解PHP代码的自动检测,发现了很多问题。
自己没有主动去思考问题,最开始的时候就是想去doc上查找资料,而不是先想想这个功能是如何做到的。再到在doc上没找到资料直接去找了同事
一直在做业务需求的时候,常常忘记了继续学习,思考其他东西。比如linux命令很多都已经忘记了,还有就是PHP_CodeSniffer这个扩展库很不错,之后有时间再研究下具体实现。需要经常思考问题
通过这次的代码自动检测发现自己什么都不懂,pear,PSR,svn/git,yum/apt-get等等很多都不懂,即使之前用过,但是没有深入研究过,也没有做对应的记录,所以很快就忘记了。看的稍微多一点就会意识到自己了解的太少太少了
感谢这个过程中使用的几个资料
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上就是PHP代码自动检测(git/svn集成PHP_CodeSniffer)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的PHP代码自动检测(git/svn集成PHP_CodeSniffer)全部内容,希望文章能够帮你解决PHP代码自动检测(git/svn集成PHP_CodeSniffer)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 lecms, classcms, fastadmin, pbootcms, phpcms, eyoucms, yzmcms, PHP, xunruicms, jizhicms, dedecms, wordpress, hkcms, yzncms, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。