您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

vim php代码规范

2024/5/10 23:31:33发布6次查看
vim 代码规范工具php-cs-fixer.phar
(参考https://github.com/friendsofphp/php-cs-fixer)
install
curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer sudo chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
至此,你可以直接用php-cs-fixer格式化代码了
usage
(目前支持的level有psr0, psr1, psr2,symfony,contrib)
php-cs-fixer fix test.php --level=psr2 php-cs-fixer fix ./--level=psr2
这并不能满足一个vimer的小心灵
vim-php-cs-fixer
install
bundle 'stephpy/vim-php-cs-fixer
configure
.vimrc(参考:https://github.com/stephpy/vim-php-cs-fixer)
if php-cs-fixer is in $path, you don't need to define line belowlet g:php_cs_fixer_path = ~/php-cs-fixer.phar define the path to the php-cs-fixer.pharlet g:php_cs_fixer_level = psr2 which level ?(psr0, psr1, psr2, symfony)let g:php_cs_fixer_config = default configurationlet g:php_cs_fixer_php_path = php path to php if you want to define specific fixers:let g:php_cs_fixer_fixers_list = linefeed,short_tag,indentationlet g:php_cs_fixer_enable_default_mapping = 1 enable the mapping by default (pcd)let g:php_cs_fixer_dry_run = 0 call command with dry-run optionlet g:php_cs_fixer_verbose = 0 return the output of command if 1, else an inline information.
以上配置我们发现
let g:php_cs_fixer_enable_default_mapping = 1 enable the mapping by default (pcd)
这个配置快捷键为\pcd 实际操作中会发现极易出错,而且太长了吧
.vim/bundle/vim-php-cs-fixer/plugin/php-cs-fixer.vim
if(g:php_cs_fixer_enable_default_mapping == 1) nnoremap silent>leader>pcd :call phpcsfixerfixdirectory()cr> nnoremap silent>leader>pcf :call phpcsfixerfixfile()cr>endif
可以发现
pcd是格式化目录
pcf是格式化文件
现在可以把pcd,和pcf换成自己喜欢的快捷键了
ps:是nomal模式,是一个快捷键的前缀默认是\,可在vim中用map命令查看
附录
psr0 [psr-0] classes must be in a path that matches their namespace, be at least one namespace deep, andtheclassname should match thefilename.encoding [psr-1] php code must use only utf-8without bom (remove bom).short_tag [psr-1] php code must use the long tags orthe short-echo = ?> tags; it must not use the other tag variations.braces [psr-2] the body of each structure must be enclosed by braces. braces should be properly placed. body of braces should be properly indented.elseif [psr-2] the keyword elseif should be used instead ofelseif so that all control keywords looks like single words.eof_ending [psr-2] a file must always endwith a single empty line feed.function_call_space [psr-2] when making a method or function call, there must not be a spacebetweenthe method or function nameandthe opening parenthesis.function_declaration [psr-2] spaces should be properly placed in a function declaration.indentation [psr-2] code must use an indent of4 spaces, and must not use tabs for indenting.line_after_namespace [psr-2] there must be one blank line afterthe namespace declaration.linefeed [psr-2] all php files must use the unix lf (linefeed) line ending.lowercase_constants [psr-2] the php constants true, false, and null must be in lower case.lowercase_keywords [psr-2] php keywords must be in lower case.method_argument_space [psr-2] in method arguments and method call, there must not be a spacebefore each comma and there must be one spaceafter each comma.multiple_use [psr-2] there must be one use keyword per declaration.parenthesis [psr-2] there must not be a spaceafterthe opening parenthesis. there must not be a spacebeforethe closing parenthesis.php_closing_tag [psr-2] the closing ?> tag must be omitted from files containing only php.single_line_after_imports [psr-2] each namespace use must go onits own line and there must be one blank line afterthe use statements block.trailing_spaces [psr-2] remove trailing whitespace attheendof non-blank lines.visibility [psr-2] visibility must be declared on all properties and methods; abstract and final must be declared beforethe visibility; static must be declared afterthe visibility.blankline_after_open_tag [symfony] ensure there is no code onthe same line asthe php open tag anditis followed by a blankline.concat_without_spaces [symfony] concatenation should be used without spaces.double_arrow_multiline_whitespaces [symfony] operator => should not be arounded by multi-line whitespaces.duplicate_semicolon [symfony] remove duplicated semicolons.empty_return [symfony] a return statement wishing toreturn nothing should be simply return.extra_empty_lines [symfony] removes extra empty lines.include [symfony] include andfile path should be divided with a single space. file path should not be placed under brackets.join_function [symfony] implode function should be used instead of join function.list_commas [symfony] remove trailing commas inlist function calls.multiline_array_trailing_comma [symfony] php multi-line arrays should have a trailing comma.namespace_no_leading_whitespace [symfony] the namespace declaration line shouldn't contain leading whitespace.new_with_braces [symfony] all instances created with new keyword must be followed by braces.no_blank_lines_after_class_opening [symfony] there should be no empty lines afterclass opening brace.no_empty_lines_after_phpdocs [symfony] there should not be blank lines between docblock andthe documented element.object_operator [symfony] there should not be spacebeforeorafter object t_object_operator.operators_spaces [symfony] binary operators should be arounded byat least one space.phpdoc_indent [symfony] docblocks should have the same indentation asthe documented subject.phpdoc_no_access [symfony] @access annotations should be omitted from phpdocs.phpdoc_no_empty_return [symfony] @return void and @return null annotations should be omitted from phpdocs.phpdoc_no_package [symfony] @package and @subpackage annotations should be omitted from phpdocs.phpdoc_params [symfony] all items ofthe @param, @throws, @return, @var, and @type phpdoc tags must be aligned vertically.phpdoc_scalar [symfony] scalar types should always be written inthe same form. int, notinteger; bool, notboolean; float, notrealordouble.phpdoc_separation [symfony] annotations in phpdocs should be grouped together so that annotations ofthe same type immediately follow each other, and annotations of a different type are separated by a single blank line.phpdoc_short_description [symfony] phpdocs short descriptions should endin either a full stop, exclamation mark, or question mark.phpdoc_to_comment [symfony] docblocks should only be used on structural elements.phpdoc_trim [symfony] phpdocs should start andendwith content, excluding the very firstandlast line ofthe docblocks.phpdoc_type_to_var [symfony] @type should always be written as @var.phpdoc_var_without_name [symfony] @var and @type annotations should notcontainthe variable name.pre_increment [symfony] pre incrementation/decrementation should be used if possible.remove_leading_slash_use [symfony] remove leading slashes in use clauses.remove_lines_between_uses [symfony] removes line breaks between use statements.return [symfony] an empty line feed should precede a return statement.self_accessor [symfony] inside a classy element self should be preferred totheclassname itself.single_array_no_trailing_comma [symfony] php single-line arrays should not have trailing comma.single_blank_line_before_namespace [symfony] there should be exactly one blank line before a namespace declaration.single_quote [symfony] convert double quotes to single quotes for simple strings.spaces_before_semicolon [symfony] single-line whitespace before closing semicolon are prohibited.spaces_cast [symfony] a single space should be between cast and variable.standardize_not_equal [symfony] replace all with !=.ternary_spaces [symfony] standardize spaces around ternary operator.trim_array_spaces [symfony] arrays should be formatted like function/method arguments, without leading or trailing single line space.unalign_double_arrow [symfony] unalign double arrow symbols.unalign_equals [symfony] unalign equals symbols.unary_operators_spaces [symfony] unary operators should be placed adjacent to their operands.unused_use [symfony] unused use statements must be removed.whitespacy_lines [symfony] remove trailing whitespace attheendof blank lines.align_double_arrow [contrib] align double arrow symbols in consecutive lines.align_equals [contrib] align equals symbols in consecutive lines.concat_with_spaces [contrib] concatenation should be used withat least one whitespace around.ereg_to_preg [contrib] replace deprecated ereg regular expression functions with preg. warning! this could change code behavior.header_comment [contrib] add, replace or remove header comment.long_array_syntax [contrib] arrays should use the long syntax.multiline_spaces_before_semicolon [contrib] multi-line whitespace before closing semicolon are prohibited.newline_after_open_tag [contrib] ensure there is no code onthe same line asthe php open tag.no_blank_lines_before_namespace [contrib] there should be no blank lines before a namespace declaration.ordered_use [contrib] ordering use statements.php4_constructor [contrib] convert php4-style constructors to__construct. warning! this could change code behavior.phpdoc_order [contrib] annotations in phpdocs should be ordered so that param annotations come first, then throws annotations, thenreturn annotations.phpdoc_var_to_type [contrib] @var should always be written as @type.short_array_syntax [contrib] php arrays should use the php 5.4 short-syntax.short_echo_tag [contrib] replace short-echo = with long format 以上就介绍了vim php代码规范,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录