生成文件类型

  1. root@2e7ca4e64edf:/var/www/swoft# php bin/swoft gen
  1. 描述:
  2. 生成常用应用内置模板类
  3. 用法:
  4. gen:{command} [arguments] [options]
  5. 命令:
  6. command 生成CLI命令控制器类
  7. controller 生成HTTP控制器类
  8. websocket 生成WebSocket控制器类
  9. rpcService 生成RPC服务类
  10. listener 生成一个事件监听器类
  11. middleware 生成HTTP中间件类
  12. task 生成用户任务类
  13. process 生成用户进程类
  14. entity 生成数据库实体类
  15. 选项:
  16. -h, --help 显示命令组或专用命令操作的帮助信息

可通过php bin/swoft gen:{command} -h查看命令帮助信息

生成HTTP控制器类

  1. root@2e7ca4e64edf:/var/www/swoft# php bin/swoft gen:controller -h
  1. 描述:
  2. 生成HTTP控制器类
  3. 用法:
  4. bin/swoft gen:controller CLASS_NAME SAVE_DIR [--option ...]
  5. 参数:
  6. name 类名,无需后缀和文件扩展名
  7. dir 类文件保存目录,默认@app/Controllers
  8. 选项:
  9. -y, --yes BOOL 文件生成写入时无需确认,默认为假
  10. -o, --override BOOL 强制覆盖已存在的文件,默认为假
  11. -n, --namespace STRING 类的命名空间,默认为App\Controllers
  12. --rest BOOL 类包含增删改查操作方法,默认假
  13. --prefix STRING 类路由的前缀,默认为类名
  14. --suffix STRING 类名后缀,默认为Controller
  15. --tpl-file STRING 模板文件名称,默认为command.stub
  16. --tpl-dir STRING 模板文件目录路径,默认为devtool/res/templates
  17. 示例:
  18. bin/swoft gen:controller demo --prefix /demo -y Gen DemoController class to `@app/Controllers`
  19. bin/swoft gen:controller user --prefix /users --rest Gen UserController class to `@app/Controllers`(RESTFul type)

生成HTTP中间件类

  1. root@2e7ca4e64edf:/var/www/swoft# php bin/swoft middleware -h
  1. 描述:
  2. 生成HTTP中间件类
  3. 用法:
  4. bin/swoft gen:middleware CLASS_NAME SAVE_DIR [--option ...]
  5. 参数:
  6. name 类名,无需后缀和文件扩展名
  7. dir 类文件保存目录,默认@app/Middlewares
  8. 选项:
  9. -y, --yes BOOL 文件生成写入时无需确认,默认为假
  10. -o, --override BOOL 强制覆盖已存在的文件,默认为假
  11. -n, --namespace STRING 类的命名空间,默认为App\Middlewares
  12. --suffix STRING 类名后缀,默认为Middleware
  13. --tpl-file STRING 模板文件名称,默认为middleware.stub
  14. --tpl-dir STRING 模板文件目录路径,默认为devtool/res/templates
  15. 示例:
  16. bin/swoft gen:middleware demo @app/Middlewares生成DemoMiddleware

生成数据库实体类

  1. root@2e7ca4e64edf:/var/www/swoft# php bin/swoft entity -h
  1. 描述:
  2. 生成实体类
  3. 用法:
  4. bin/swoft gen:entity -d test [--option ...]
  5. 选项:
  6. -d, --database STRING Must to set database. `,` symbol is used to separated by multiple databases
  7. -i, --include STRING Set the included tables, `,` symbol is used to separated by multiple tables. default is: all tables
  8. -e, --exclude STRING Set the excluded tables, `,` symbol is used to separated by multiple tables. default is: empty
  9. -p, --path STRING Specified entity generation path, default is: @app/Models/Entity
  10. --driver STRING Specify database driver(mysql/pgsql/mongodb), default is: mysql
  11. --table-prefix STRING Specify the table prefix that needs to be removed, default is: empty
  12. --field-prefix STRING Specify the field prefix that needs to be removed, default is: empty
  13. --tpl-file STRING The template file name. default is: entity.stub
  14. --tpl-dir STRING The template file dir path.(default: devtool/res/templates)
  15. 示例:
  16. bin/swoft gen:entity -d test `@app/Models/Entity`生成DemoProcess

创建数据实体

  1. root@2e7ca4e64edf:/var/www/swoft# php bin/swoft entity:create -h
  1. 描述:
  2. 通过数据表结构自动创建数据实体文件
  3. 用法:
  4. entity:create -d[|--database] <database>
  5. entity:create -d[|--database] <database> [table]
  6. entity:create -d[|--database] <database> -i[|--include] <table>
  7. entity:create -d[|--database] <database> -i[|--include] <table1,table2>
  8. entity:create -d[|--database] <database> -i[|--include] <table1,table2> -e[|--exclude] <table3>
  9. entity:create -d[|--database] <database> -i[|--include] <table1,table2> -e[|--exclude] <table3,table4>
  10. 选项:
  11. -d 数据库
  12. --database 数据库
  13. -i 指定特定的数据表,多表之间用逗号分隔
  14. --include 指定特定的数据表,多表之间用逗号分隔
  15. -e 排除指定的数据表,多表之间用逗号分隔
  16. --exclude 排除指定的数据表,多表之间用逗号分隔
  17. --remove-table-prefix 去除表前缀
  18. --entity-file-path 实体路径(必须在以@app开头并且在app目录下存在的目录,否则将会重定向到@app/Models/Entity)
  19. 示例:
  20. php bin/swoft entity:create -d test

例如:为test数据库中的web_account表创建对应实体类,创建成功会生成app/Models/Entity/WebAccount类文件。

  1. $ php bin/swoft entity:create -d test web_account