码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-04-20 01:56:28      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

今天设计了一个数据表名为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), "_"));
}
}

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

标签:

原文地址:http://www.cnblogs.com/doudou130702/p/5410861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!