Home  >  Article  >  Backend Development  >  一个快速构建PHP ORM类的工具:ORMBuilder

一个快速构建PHP ORM类的工具:ORMBuilder

WBOY
WBOYOriginal
2016-06-20 12:50:001005browse

一个快速构建PHP ORM类的工具

Requirement

  • PHP 5.4 + (PDO support)
  • Linux Shell / Windown cmd

Last ChangeLog [2015-08-22]

  • 版本调整为 v1.2.0 Beta
  • 调整生成命名逻辑,保持所有文件名/类名与驼峰命名一致
  • 增加U选项保持兼容
  • 选项L弃用
  • 调整部分处理逻辑及删除判断为冗余的代码
  • 修复其它一些已知的问题

Command [区分大小写]

PHP cli模式使用 '+', Shell模式使用 '-', 建议使用Shell模式

  • fModel Class保存路径, 默认保存在gorm.php相应目录下的BuildResult文件夹下
  • eModel Class父类 (未开启命名空间,'\' 以 '_' 代替)
  • iModel Class类所需接口类 (未开启命名空间,'\' 以 '_' 代替)
  • xModel Class文件后缀名, 默认 php
  • lModel Class文件名/类名是否保留下划线, 默认 false
  • LModel Class方法名是否保留下划线, 默认 true [弃用]
  • mModel Class命名类型, 默认 1,1. %sModel 2. Model%s 3.%s_Model 4. Model_%s
  • NModel Class的命名空间,默认 \
  • FModel Class能支持写final关键字, 默认 false
  • U文件名/类名所有 _ 分隔单词首字母大写,否则仅第一单词首字母大写, 默认 true
  • o是否开启命名空间, 默认 true
  • d从Config中读取的数据库配置,默认 false
  • T设置N个空格替代一个TAB,为0时将以TAB出现,不替换, 默认 4
  • u连接mysql用户名,使用此项 +d 将失效
  • p连接mysql密码,使用此项 +d 将失效, 不建议直接在命令行输入密码
  • h连接mysql主机, 默认 127.0.0.1
  • P连接mysql主机端口, 默认 3306
  • n连接mysql数据库名
  • O数据库驱动选项处理, 多个时用 ',' 分隔
  • t指定Build的表名,多个时用 ',' 分隔
  • H显示帮助

Example

  • 使用Shell模式

sudo ln -s /home/www/OrmBuild/gorm /usr/bin/gorm

gorm -f "/home/gsinhi/models" -e "\Base\Model\AbstractModel" -u root -p -n test_orm

  • 指定保存路径

php -f gorm.php +f /home/gsinhi/testOrm

  • 指定数据库

php -f gorm.php +f /home/gsinhi/testOrm +u test +p +n test_orm

  • 关闭命名空间

php -f gorm.php +f /home/gsinhi/testOrm +o false

  • 示例配置 Config/Db.php
namespace Config;class Db extends \Config\ConfigAbstract {    public function init() {        return array(            'host'     => '127.0.0.1',            'dbname'   => 'test',            'username' => 'test',            'passwd'   => 'test',            'port'     => '3306',            'options'  => array("SET NAMES 'utf8'")        );    }}

项目主页:http://www.open-open.com/lib/view/home/1440401020497

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn