将一个驼峰式的字符串转化为在大写字母前用某种字符填充并将大写字母变成小写

小说:白三叶种子怎么种?作者:密秉更新时间:2019-04-26字数:67336

天守脚直接踩在了刘皓的脑袋上,将本来就是盆地的大地直接给踩碎了,上百块的巨石在纲手的怪力下活生生的被推了上去,整个大地变得凹凸不平,好像随时会支离破碎似的。

8公分榉树批发基地在哪里?

“机会!”艾斯德斯哪里会放过这个机会一道混元长河镇压住尸帝,同时一甩手又是一张大乘期的道符,不是她不想一口气放几张,而是她修为太低,如果不是得到了一个符修的道统并且还得到过一个大乘期符修的功法参悟过运用道符的法门的话以她的修为根本无法控制住大乘期的道符。
在赤瞳说话的同时刘皓已经抽出了冰玄剑一道十米长的金色火焰剑芒从剑锋之上吞吐而出,当头劈下。

三个高手围攻一个人如果是各自为战毫无章法的话有的时候甚至不能做到群殴对方,反而会变成彼此牵制,刘皓几人联手的话虽然不会相互牵制,但是彼此不熟悉也根本无法将三人的力量联合在一起发挥到极致。

        在进行thinkphp开发的时候,有一种开发思想就是:

一个控制器对应一个数据表的管理,控制器的命名采用驼峰式命名,

数据表采用每个单词之间下划线连接 。

举个例子:有一个客户类型表,命名为:customer_type,

                 然后在建立控制器时,命名:CustomerType

        然后就可以在继承的父类中,检测当前控制器对应的模型(数据表),当没有传进参数时,

默认对应的是当前的控制器的名称。这样在模型新增和编辑的时候,可以带来简便。

这种方法有一个坏处就是,没有对应的函数将控制器转换未我们需要的数据表名。

所以本人自己设计了一个,代码如下:


/**
 * 将一个字符串装换为数据表的名称
 * 要求:
 *      1.字符串符合驼峰命名规则(或形式如下:aaBb => aa_ab, AaBb=> aa_bb)
 *      2.数据库的书库表命名方式如下:aa_bb
 * @param $str 需要转换的字符串 默认为当前的控制器名
 * @param $delimiter 在大写字符转化为小写的之前前一个位置用该字符填充,默认下划线
 * @return $str 转换之后的字符串
 */
function str_to_tableName($str="", $delimiter = "_"){
    $str = $str ? $str : 	hinkRequest::instance()->controller();
    do{
        $pos = preg_match("/([A-Z])/", $str, $matches);
        if($pos === 0) break;
        $strs = explode($matches[0], $str, 2);
        $str = ($strs[0] ? $strs[0].$delimiter : "").strtolower($matches[0]).$strs[1];
    }while(1);
    return $str;
}


代码和逻辑并不复杂,看代码就可以懂。

        不过尴尬的是:本人突然想到,既然只是匹配,可以将控制器转化未表名,那反过来,也可以将表名转话为控制器的名啊~~~
真的是悲催~~~不知到哪一种更加简便~。以后测试之后,再来分享,也希望有大神可以指导一下。非常感谢!

编辑:道辛徒杜

发布:2019-04-26 01:21:22

当前文章:http://leetaemin.cn/072rh.html

紫叶李报价_紫叶李产地_紫叶李胸径 50公分大叶黄杨多少钱一株? 花石榴种植要离多远种植一棵? 哪里出售连翘树苗? 一年生黑麦草种子什么时候播种? 苦楝种子多少钱一斤? 福建适合种植什么牧草? 多年生花卉可以养多少年?

46210 53329 55823 22090 60991 69883 71550 27539 49748 15688 50220 59390 23644 30912 46535 21213 22773 28054 61897 64386

我要说两句: (0人参与)

发布