thinkcmf 控制器、类名为什么要用驼峰命名,原因在这里!!!

今天设计了一个数据表名为cmf_survey_company的表,在实例话的时候用D("Common/Surveycompany"),发现一直报报不到cmf_surveycompany这个表,花了几个小时找到原因了,原来是MODEL在获取表名的时候,会判断字符串是否有大写字母,如果有,刚把字符串以“_”连起来,所以用D("Common/SurveyCompany"),即可解决找到表“cmf_survey_company”

/**
* 得到完整的数据表名
* @access public
* @return string
*/
public function getTableName() {
if(empty($this->trueTableName)) {
$tableName = !empty($this->tablePrefix) ? $this->tablePrefix : ‘‘;
if(!empty($this->tableName)) {
$tableName .= $this->tableName;
}else{
$tableName .= parse_name($this->name);
}
$this->trueTableName = strtolower($tableName);
}
return (!empty($this->dbName)?$this->dbName.‘.‘:‘‘).$this->trueTableName;
}

/**
* 字符串命名风格转换
* type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格
* @param string $name 字符串
* @param integer $type 转换类型
* @return string
*/
function parse_name($name, $type=0) {
if ($type) {
return ucfirst(preg_replace_callback(‘/_([a-zA-Z])/‘, function($match){return strtoupper($match[1]);}, $name));
} else {
return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_"));
}
}

时间: 2024-07-30 13:42:06

thinkcmf 控制器、类名为什么要用驼峰命名,原因在这里!!!的相关文章

驼峰命名法

骆驼式命名法(Camel-Case)又称驼峰命名法,是电脑程式编写时的一套命名规则(惯例).正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字.程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式. 基本概念 有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname.my_name.MyName或者myName.这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来

驼峰命名法---2017-03-28

一.定义 骆驼式命名法(Camel-Case)又称驼峰命名法,是电脑程式编写时的一套命名规则(惯例).正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字.程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式. 骆驼式命名法就是当变量名或函式名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始:第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName.myLastName

驼峰命名法则

骆驼式命名法(Camel-Case)又称驼峰命名法,是电脑程式编写时的一套命名规则(惯例).正如它的名称CamelCase所表示的那样,是指混合 使用大小写字母来构成变量和函数的名字.程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式. 基本概念 有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname.my_name.MyName或者myName.这样的命名规则不适合所有程序员阅读,而利用驼峰命名

驼峰命名 + 高斯效果

学到了两个新词,虽然一直再用,但是才知道术语原来叫这个,简单介绍一下: (1)驼峰命名 骆驼式命名法(又称驼峰命名法),正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字.程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式.例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname.my_name.MyName或者myName.这样的命名规则不适合所有程序员阅

vue 组件属性props,特性驼峰命名,连接线使用

今天在学习vue的时候碰到了一个有趣的问题 是这样的,先来个话题引入,后面会用到 var myname={ 'first-name':'9', 'last-name':'l o n g' } console.log(myname.first-name); console.log(myname['first-name']); 打印出来是  NaN  9 解释下,之所以没有前面没有打印出来9,是因为程序走的时候,把我们认为的英文连接符当做减号看待,myname.first是undefined,nam

驼峰命名和下划线命名互转php实现

驼峰命名和下划线命名经常需要互转,下面提供两种php的实现方式.第一种方法效率相对差一些,实现方式如下: //驼峰命名转下划线命名 function toUnderScore($str) { $dstr = preg_replace_callback('/([A-Z]+)/',function($matchs) { return '_'.strtolower($matchs[0]); },$str); return trim(preg_replace('/_{2,}/','_',$dstr),'

驼峰命名法和下划线风格的互转

偶然遇到这个问题,感觉有些意思,于是研究了一下. 下划线转驼峰比较简单,直接根据下划线打散成数组,每个子项首字符转大写,再做字符串拼接即可. 驼峰转下划线风格,稍微复杂一些.刚开始我没有思路,后来想到,可以遍历字符串,遇到大写字母将其转换成小写,并在前面加一个下划线. 最终实现: class CamelTool{ //驼峰命名法转下划线风格 public static function toUnderScore($str){ $array = array(); for($i=0;$i<strle

匈牙得命名法与驼峰命名法

驼峰命名法(Camel-Case)     驼峰命名法(Camel-Case)是电脑程序编写时的一套命名规则(惯例). 程序员们为了自己的代码能更容易的在同行之间交流,所以才取统一的可读性比较好的命名方式.例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname.my_name.MyName或者myName.这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性. 驼峰命名法就是当变量名或函数名是由一个或多

驼峰命名法和下划线

之前遇到一种命名要求,强制不使用下划线,全部用驼峰命名法来 Mission1GetName(); Mission1_GetName(); 先不说哪种方法好,下面这种缩写的情况..这种命名要求就SB了 Mission1GetWIN32BTNGO();//Mission1 Get WIN32 BTN(Button) GO(Game Object) 缩写混合在一块,如果依然要用这种命名约定,只有这种解决方法: Mission1GetWin32BtnGo 看似可行,但有时候会让人觉得是单词而不是缩写.