驼峰<-->长蛇转换函数 浏览次数:208 日期:2020-06-07 21:48:00 驼峰长蛇转换函数最常见的场景就是 1. table表名转成驼峰model类名 2. 根据model名称自动生成table表 ### 实现 下面给出驼峰转长蛇相互转换的函数 ```php /** * 将'ModelName'转成'model_name'. */ function tableize(string $word) { $tableized = preg_replace('~(?<=\\w)([A-Z])~u', '_$1', $word); if ($tableized === null) { throw new RuntimeException(sprintf( 'preg_replace returned null for value "%s"', $word )); } return mb_strtolower($tableized); } /** * 将'table_name'转成'TableName'. */ function classify(string $word) { return str_replace([' ', '_', '-'], '', ucwords($word, ' _-')); } ``` ###使用 ```php var_dump(tableize("UserInfo"),classify("tbl_user_info")); //string(9) "user_info" string(11) "TblUserInfo" ``` **大家不要崇拜我,这两个函数不是我自己写的,来源于[doctrine/inflector](https://github.com/doctrine/inflector)中的两个函数,doctrine/inflector是个好东西,具体是干嘛的,大家可自行百度,其实学习的过程就是这样,将别人优秀的东西拿过来用,我们不必关心整体,关心我们需要的功能就可以了** 最后更新时间为: 9个月前 (2020-06-07 21:48:00)