PhpCodeGen
PhpCodeGen是一个Sublime Text 2和3插件,它通过简单的缩写语法生成面向对象代码。
详情
安装
- 总数 17K
- Win 11K
- Mac 2K
- Linux 3K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
说明文件
- 源代码
- bitbucket.org
PhpCodeGen
PhpCodeGen是一个Sublime Text插件,它通过简单的缩写语法生成面向对象代码。
新功能:支持Sublime Text 2和3
之前
之后
简介
使用PhpCodeGen for Sublime Text,您可以通过几行代码极快地生成完全自定义的带有docblocks的面向对象代码。使用PhpCodeGen,您可以生成成百上千个格式正确的类、接口、属性、常量和方法的占位符。
从Package Control安装
- 搜索PhpCodeGen
手动安装
- 在包目录中创建一个名为“PhpCodeGen”的文件夹
- 下载最新标签,解压缩并将文件放置在“PhpCodeGen”目录中。
自动完成
将语法模式设置为php,并开始键入'@',建议将开始填充。
视频教程
我在youtube上简要介绍了如何使用此插件并上传了视频。 http://www.youtube.com/watch?v=WV_NhVxrYwY
警告
所有命令前必须没有空格或制表符才能被解析。 PhpCodeGen会自动正确缩进命令输出。
这是正确的,将被解析
@class test
这是错误的,将不会被解析
@class test
如果选项需要一个参数,请确保选项参数之前有一个空格
这是正确的
@class -tag MyTagGroupName
这是错误的
@class -tagMyTagGroupName
默认设置
PhpCodeGen包含以下默认设置
{
"docblockTagGroup": {
},
"debugMode": true,
"autoGenerateDockBlocks": true,
"numberOfSpaces": 0,
"newLinesAfterClassDeclaration": 0,
"newLinesBeforeClassClosingBrace": 1,
"newLinesAfterMethodDeclaration": 2,
"newLinesBeforeMethodClosingBrace": 2,
"newLinesAboveClassDocBlock": 1,
"newLinesBelowClassDocBlock": 1,
"newLinesAboveConstantDockBlock": 1,
"newLinesBelowConstantDockBlock": 1,
"newLinesAbovePropertyDockBlock": 1,
"newLinesBelowPropertyDockBlock": 1,
"newLinesAboveMethodDockBlock": 2,
"newLinesBelowMethodDockBlock": 1,
"defaultMethodVisibility": "public",
"defaultPropertyVisibility": "protected",
"openingCurlyBraceOnSameLine": true
}
命令API
@ class | @ c
生成一个类。最后一个参数是类名。
基本示例
@class MyClass
输出
/**
* MyClass documentation goes here...
*/
class MyClass {
选项
抽象类
-a
标记组
将用户定义的标签应用于docblock
-tag
类扩展其他类
-e ExtendedClassName
实现接口(s)。您可以使用逗号指定多个接口,如下所示。但是,多个接口之间不能有空格。
-i Interface1,Interface2
示例
@class -a -e ExtendedClass -i Interface1,Interface2 MyClass
输出
/**
* MyClass
*/
abstract class MyClass extends ExtendedClass implements Interface1, Interface2 {
@ endClass | @ ec
结束类的声明并创建关闭的括号
@ interface | @ i
生成接口。您可以使用逗号指定多个接口继承,如下所示。但是,多个接口之间不能有空格。
选项
将用户定义的标签应用于docblock
-tag
扩展接口
-e
示例
@interface -e InterfaceA,InterfaceB MyInterface
输出
/**
* MyInterface documentation goes here...
*/
interface MyInterface extends InterfaceA, InterfaceB {
@ endInterface | @ ei
结束接口声明并创建关闭的括号
@ const
创建一个常量
基本示例
@const AGE 15
输出
/**
* AGE
*/
const AGE = 15;
选项
将常量值用引号括起来
-q
示例
@const -q NAME JOE SHMO
引号输出
/**
* NAME
*/
const NAME = 'JOE SHMO';
将用户定义的标签应用于docblock
-tag
@ property | @ p
创建属性或类变量。属性的可见性将默认为在您的设置中定义的内容。
基本示例
@property strName
输出
/**
* strName
* @var datatype
*/
protected $strName;
选项
可见性:public | protected | private
-v
将用户定义的标签应用于docblock
-tag
返回类型
-t
静态属性
-s
为属性生成setter方法
-set
为属性生成getter方法
-get
高级示例
@property -v private -t int -set -get myAge
输出
/**
* myAge
* @var int
*/
private $myAge;
/**
* setMyAge
* @param int $value
* @return void
*/
public function setMyAge(int $value) {
$this->myAge = $value;
}
/**
* getMyAge
* @return int
*/
public function getMyAge() {
return $this->myAge;
}
@ method | @ m
创建类方法
基本示例
@method init
输出
/**
* init
* @return void
*/
public function init() {
}
可见性:public | protected | private
-v
将用户定义的标签应用于docblock
-tag
静态方法
-s
抽象方法
-a
最终方法
-f
指定Docblock的返回类型
-r
方法参数:请参阅 如何在@ method和@ function命令中使用-p
-p
高级示例
@method -s -v protected -f -p {DataObject:data = null} init
输出
/**
* init
* @param DataObject $data = null
* @return void
*/
final protected static function init(DataObject $data = null) {
}
@ function | @ f
创建标准函数
基本示例
@function myFunc
输出
/**
* test
* @return void
*/
function test() {
}
高级示例
@function -p {User:objUser = null} -r object initWithUser
输出
/**
* initWithUser
* @param User $objUser = null
* @return object
*/
function initWithUser(User $objUser = null) {
}
指定Docblock的返回类型
-r
将用户定义的标签应用于docblock
-tag
静态方法
-s
函数参数:请参阅 如何在@ method和@ function命令中使用-p
-p
@ php
创建开启的php标签
@endPhp
创建关闭的php标签
设置API
不要修改默认设置!只在用户设置中做出更改
大多数设置都涉及代码生成模板。您可以将这些设置复制到用户设置中并按喜好修改。
许多设置是自解释的。以下讨论的是那些可能有点不清楚它们做什么的设置。
debugMode - 将调试信息记录到控制台
numberOfSpaces - 适用于常量属性。它指的是docblock和常量/属性声明之间的空间。
docblockTagGroup - 定义用于命令的docblock的用户定义标签。请参阅 如何使用 -tag
如何在@ method和@ function命令中使用-p
此选项用于生成方法或函数的参数。必须在括号内指定参数,并且每个参数必须通过逗号分隔。
支持类型提示和默认值。如果您不包含参数值的'$',PhpCodeGen将自动添加。
示例
@method -p {TypeHint:localVar, $localVar2, localVar3='default value'} init
输出
/**
* init
* @param TypeHint $localVar
* @param $localVar2
* @param $localVar3 = 'default value'
* @return void
*/
public function init(TypeHint $localVar, $localVar2, $localVar3 = 'default value') {
}
如何使用-tag
tag选项允许您将自定义docblock标签注入到命令的docblock中。这通常与用户设置中的“docblockTagGroup”一起使用。tag选项可以应用于除以下所有命令外
- @ php
- @ endPhp
-tag接受一个参数,该参数是docblockTagGroup中的 键
每个命令只能应用一个docblock标签组。
在PhpCodeGen用户设置中的“docblockTagGroup”对象下定义您的自定义标签组。
示例
"docblockTagGroup": {
"author":
[
{
"tag": "@package",
"value": "MyPackage"
},
{
"tag": "@author",
"value": "Your Name <[email protected]>"
}
],
"method":
[
{
"tag": "@since",
"value": "beta"
}
]
}
在这里我们有两组docblock标签组:“author”和“method”
如果您想给命令添加额外的dockblock标签组,可以这样操作
@class -tag author MyClass
输出
/**
* MyClass
* @package Mecdata
* @author Your Name <[email protected]>
*/
class MyClass {
为PhpCodeGen创建快捷键
- 打开Sublime Text
- 转到首选项->键盘映射->用户
- 将快捷键添加到键盘映射中
示例
{"keys": ["ctrl+t"], "command": "php_code_gen"},
查看我的其他插件