专栏首页宣言(Siam)博客php对象字段声明,easyswoole ORM 快速生成注释

php对象字段声明,easyswoole ORM 快速生成注释

ide提示

在PHPSTORM IDE中,我们可以通过注释给类写明可调用字段名,这样子才有语法提示。

比如在Thinkphp中,虽然允许我们可以通过对象属性方式去调用,但是并没有语法提示。

添加注释后 就舒服很多了。

格式如下

/**
 * Class RefundDetail
 * @property test_field 测试字段名
 */
class RefundDetail extends Mode
{

}

使用

$class = new RefundDetail();
$class->test

当我们输入一部分的时候,IDE就会提示我们语法啦~直接选中就可以了

easyswoole

在easyswoole中也是一样的,我们可以快速给类生成注释来达到语法提示

我写了一个小工具,可以通过SQL create table 语句,分析生成注释

$("#value").on("change", function () {
    let string = $("#value").val();

    if (string.slice(0, 6) !== "CREATE" && string.slice(0, 6) !== "create") {
        alert("sql非法 请传入create table sql");
        return false;
    }


    let array = string.split(/[\n]/);

    let firstLine = array[0];
    var regExp = /`(.*?)`/gi;
    let dbName = regExp.exec(firstLine)[1];
    let tableName = regExp.exec(firstLine)[1];
    let returnString = `
/**
 * ${tableName}`;
    $.each(array, function (index, item) {
        if (index == 0) {
            return true;
        }
        // 判断是否为索引
        if (item.indexOf("PRIMARY KEY") != -1) {
            return false;
        }
        let regExpField = /`(.*?)`/gi;
        let field = regExpField.exec(item);

        if (field == null) {
            return true;
        }
        let comment = '';
        let commentExp = /'(.*?)'/gi;
        let commentReg = commentExp.exec(item);
        if (commentReg !== null) {
            comment = commentReg[1];
        }
      returnString += `
 * @property $${field[1]} ${comment}`;
    });
  returnString += `
 */`;
  console.log(returnString);
})

效果如图

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vto1mh8z7c8

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JS的字符串插值,变量长文本换行

    作为一个PHPer,经常需要在html中写js jq来解析数据,形成列表、选项等等。

    宣言言言
  • php计算两个日期之间的间隔,避免导出大量数据

    在做系统业务功能的时候,有的时候业务人员会进行超大范围地导出excel表格,导致内存、CPU占用飙升。

    宣言言言
  • 负载均衡方式的对比选择

    每个服务器的配置会有差异,可能某个服务器还需要兼顾其他应用服务。所以它也许不能像同集群里的其他机器一样完成一样大小的任务。

    宣言言言
  • 变量的解构赋值

    上面代码中,函数move的参数是一个对象,通过对这个对象进行解构,得到变量x和y的值。如果解构失败,x和y等于默认值。

    达达前端
  • 通过欧拉计划学习Rust编程(第17~21题)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识。学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快...

    申龙斌
  • Swift基础---Integers

    用户3004328
  • swift基础1

    用户2554571
  • ES6

    ES的全称是ECMAScript,它是由ECMA国际标准化组织制定的一项脚本语言的标准化规范。

    eadela
  • ES6语法基础之let用法

    简单讲解一些ES6语法基础!了解一些es6新特性!当然下一步需要学习的vue框架也是基于es6的,因此很有必要学习下es6语法,接下来几次简单讲解es6语法!

    十月梦想
  • IOS 图文新闻文章样式

    //在实现图文混排的功能之前,首先往项目中添加一个继承自UIView 父类的子类CTImageView.swift。使用该类的draw方法,并在该方法中使 ...

    用户5760343

扫码关注云+社区

领取腾讯云代金券