格式化数据表名称(格式化为适用THINKPHP调用的)

jerry thinkphp 2015年11月18日 收藏
格式化数据表名称(格式化为适用THINKPHP调用的)
/*
 * 格式化完整的表名称(格式化为适用THINKPHP调用的)
 * @access private
 * @param  String $string 传入字符串类型数据表名称(例如:xxx_xxx)
 * @return String
 * @author: 只是、很孤单 <939238564@qq.com>
 */
protected function SqlFormat($string){
    $strArr = explode("_", $string);
    foreach ($strArr AS $key=>$val){
        if($key != 0){
            $Fstr .= ucfirst($val);
        }else{
            continue;
        }
    }
    return (string)$Fstr;
}
有了上述方法的基础上可以像这样便捷的调用不同表的数据:
$MTable = M($this->SqlFormat($string));
作用:
例如,要通过文章的ID获取它的一个扩展表名称;
在DEDE中,扩展表名称是 “前缀_扩展模型名称” 这样的格式;
而在TP中,要去访问某个数据表,必须去除前缀且首字母大写!
那么通过上述方法,可以返回适合TP M实例化用的数据表名称!
如数据表名称:dede_member_feed
转化后为:MemberFeed
这样就更为符合TP标准;多次调用也免去了代码的冗余;
有不足的还望大家指出,完善它;