php自动生成model类,大家看看怎么样?

自己写了一个composer包用于为数据库中的表生成model类,欢迎大家点评,我感觉对于开源的框架可能用途不大,框架都有自己的orm,但是适用于yaf、phpslim等没有model实现,或者不喜欢重量级orm的项目有用

  • 安装
composer require fanqingxuan/gen-models
  • 使用
$vendor/bin/gen-models model database path //将连接的数据库中的所有表,一个表一个模型生成到对应目录,默认host是localhost,db user是root,password是root,port是3306

$vendor/bin/gen-models model -h //查看命令帮助

$vendor/bin/gen-models model database path -uroot123 //连接的时候db user使用root123

$vendor/bin/gen-models model database path -uroot123 -pa12345 -H192.168.56.55 -P3308 //连接host是192.168.56.55,user是root123 pasword是a12345,端口是3308的库

$vendor/bin/gen-models model database path --ignore-prefix  tbl_  //创建的model类名忽略表前缀

$vendor/bin/gen-models model database path -f //若path中model文件已经存在,进行覆盖,不存在则创建

$vendor/bin/gen-models model database path --suffix //为model类文件添加Dao或者Model后缀
  • model生成规则
  1. tbl_user_address表生成文件名是TblUserAddress.php,类名是TblUserAddress的驼峰类
  2. tbl_user_address表如果命令行使用了--ignore-prefix,则生成文件名UserAddress.php,类名是UserAddress的驼峰类
  3. tbl_user_address如果使用了--suffix,并且选择了Model,没有使用--ignore-prefix命令,生成文件名是TblUserAddressModel.php的TblUserAddressModel类
  4. tbl_user_address如果使用了--suffix,并且选择了Dao,使用--ignore-prefix命令,生成文件名是UserAddressDao.php的UserAddressDao类
  • 生成的实例demo,包含primary_key属性,和tableName静态属性
  • 其它

如果您电脑没有安装composer,可以使用gen-models,然后执行如下命令都可以

$php gen-models model database path
$./gen-models model database path

注意:gen-models可执行文件在https://github.com/fanqingxua...

阅读 2.1k
1 个回答

自动生成很好用,只要大家都遵循规范任何框架都可以使用
现在再用 reliese/laravel

推荐问题
宣传栏