首页 > 其他 > 详细

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

时间:2016-04-20 01:53:55      阅读:698      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!