odp 加固 mysql_creator是一款为php框架odp的脚手架工具

creator

项目介绍

creator是一款为php框架odp的脚手架工具,主要用于生成dao层,dataService层,pageService层,controller层,action层,避免重复性劳动和提高工作效率

软件架构

软件架构说明

使用说明

(ps:配置已支持当前项目组文件路径,放置在app同级目录即可)

1.创建app

php creator build app app_name –c namespace

栗 : php creator create action Action_MessageList -n message

2.创建dao

php creator create dao dao_name -p [mod | mul]

栗 : php creator create action Action_MessageList -n message

3.创建dataservice

php creator create ds dataservice

栗 : php creator create ds Service_Data_Message

4.创建pageservice

php creator create ps pageservice

栗 :php creator create ps Service_Page_Message

5.创建controller

php creator create controller c_name

栗 : php creator create controller Controller_Message

6.创建action

php creator create action a_name -n middle_name

栗 : php creator create action Action_MessageList -n message

7.创建所有

php creator create all name

栗 : php creator create all Message

安装教程

将creator文件夹放置于odp项目的根目录下

配置连接数据库参数,根据注释设置数据库连接参数,注意不要随意更改DB_NAME

vim ./creator/Creator/Conf/Conf.php

$conf = array(

//pdo数据库配置文件

'PDO' => [

'DB_TYPE' => 'mysql', //数据库类型

'DB_HOST' => '127.0.0.1', //服务器地址

'DB_PORT' => '3306', //端口

'DB_USER' => 'root', //用户名

'DB_PWD' => '123456root', //密码

'DB_NAME' => DB_NAME, //数据库名称

'DB_CHARSET' => 'utf8', //数据库编码

],

//基础配置

'FRAME' => FRAME, //框架

//文件注释

'NOTE' => [

'AUTHOR' => 'chenzhiwen', //文件头作者

],

);

修改适合你的odp参数

可修改的部分(以dao为例):

分表操作参数 -p

生成文件路径

默认继承的父类

默认的DB_NAME

默认的DB

默认的日志文件存储

默认的取模分表分母数

默认的分表类型

默认的JSON类型CLOUMN_COMMENT标识符

vim ./creator/Creator/Conf/OdpConf/Conf.php

return array(

//odp的模板类型

'TEMPLATES' => [

'dao' => 'dao.tmpl',

'dataservice' => 'dataservice.tmpl',

'pageservice' => 'pageservice.tmpl',

'controller' => 'controller.tmpl',

'action' => 'action.tmpl',

],

'DB' => [

'PREFIX' => 'tbl',

],

//odp文件路径分割

'DS' => '_',

//dao层相关配置

'DAO' => [

'BASE_CONFIG' => [

//分表

'partion' => [

'MUL' => '-pl',//固定大小分表

'MOD' => '-pd',//取模分表

],

],

'DOCUMENT_PATH' => '../desktc/models/', //基础路径

'PARENT_CLASS' => 'Hk_Common_BaseDao', //父类

'DB_NAME' => 'flipped/zyb_flipped', //DB_NAME

'DB' => 'Hk_Service_Db::getDB( $this->_dbName )', //DB

'LOG_FILE' => 'Hkzb_Util_FuDao::DBLOG_FUDAO', //日志文件

'TYPE_JSON' => 'Hk_Service_Db::TYPE_JSON', //JSON

'TYPE_JSON_FLAG' => 'json', //JSON标示符

'TYPES_MAP' => [

'bigint' => 'Hk_Service_Db::TYPE_INT',

'blob' => 'Hk_Service_Db::TYPE_INT',

'char' => 'Hk_Service_Db::TYPE_STR',

'date' => 'Hk_Service_Db::TYPE_STR',

'datetime' => 'Hk_Service_Db::TYPE_STR',

'int' => 'Hk_Service_Db::TYPE_INT',

'longblob' => 'Hk_Service_Db::TYPE_INT',

'mediumblob' => 'Hk_Service_Db::TYPE_INT',

'smallint' => 'Hk_Service_Db::TYPE_INT',

'text' => 'Hk_Service_Db::TYPE_STR',

'time' => 'Hk_Service_Db::TYPE_STR',

'timestamp' => 'Hk_Service_Db::TYPE_STR',

'tinyint' => 'Hk_Service_Db::TYPE_INT',

'varchar' => 'Hk_Service_Db::TYPE_STR',

],

'FILE_NAME_TEMP'=> [

'Fz' => 'phplib',

],

'PARTION' => [

//取模分表

'MOD' => [

'PARTION_NUM' => '20',

'PARTION_TYPE' => 'self::TYPE_TABLE_PARTION_MOD',

],

//固定大小分表

'MUL' => [

'PARTION_NUM' => '3000',

'PARTION_TYPE' => 'self::TYPE_TABLE_PARTION_MUL',

],

],

],

//dataservice层相关配置

'DATASERVICE' => [

'DOCUMENT_PATH'=> '../desktc/models/',//ROOT_PATH . 'Fz' . DS

'PARENT_CLASS' => '', //父类

],

//pageservice层相关配置

'PAGESERVICE' => [

'DOCUMENT_PATH'=> '../desktc/models/',//ROOT_PATH . 'Fz' . DS

'PARENT_CLASS' => '', //父类

],

//构建模块

'MODULE' => [

'DOCUMENT_PATH' => '../',

'BASE_CONFIG' => [

'NAMESPACE' => '-c'

],

],

//all

'ALL' => [

'DOCUMENT_PATH' => [

'ACTION' => '../desktc/',

'CONTROLLER' => '../desktc/',

'DAO' => '../desktc/models/dao/', //../phplib/dao/

'DATASERVICE' => '../desktc/models/service/data/', //../phplib/ds/

'PAGESERVICE' => '../desktc/models/service/page/',

]

],

//controller

'CONTROLLER' => [

'DOCUMENT_PATH' => '../desktc/',

'PARENT_CLASS' => 'Ap_Controller_Abstract', //父类

],

//action

'ACTION' => [

'DOCUMENT_PATH' => '../desktc/',

'PARENT_CLASS' => 'DeskTc_Action_Base', //父类

'BASE_CONFIG' => [

'MIDDLE_NAME' => '-n',

],

],

);

参与贡献

Fork 本项目

新建 Feat_xxx 分支

提交代码

新建 Pull Request

码云特技

使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md

GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中的mod运算_Java中的运算符与控制语句

运算符与控制语句是Java语言中运用最为基础也是最为广泛的,所以今天就详细的介绍下运算符与控制语句。一、运算符1.算数运算符1).单目运算符: 、- 、 、-- A: 表示 a.正号(一般省略);b.加法运算&#xff1b…

mysql如何查看表拥有的键_如何查看表或列的所有外键?

白板的微信表:SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHEREREFERENCED_TABLE_SCHEMA ANDREFERENCED_TABLE_NAME TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFER…

laravel 自带的用户登录视图路径_Laravel实现找回密码及密码重置,详细操作

Laravel实现找回密码及密码重置功能在php实现与在这里实现会有什么区别呢,下面我们来看看Laravel中的例子,在php中就不介绍了大家都懂的。忘记密码是应用中常见的场景之一,Laravel5也提供了对密码重置的支持,我们只需稍微做一下配…

yii不能没有提示验证错误信息_安装Mac系统时提示”应用程序副本不能验证 它在下载过程...”的解决方法...

在安装旧版本macOS系统时,比如macOS Mojave 10.14、macOS Sierra、OS X El Capitan、OS X Yosemite、OS X Mavericks等系统,会出现错误无法安装:“应用程序副本不能验证 它在下载过程中可能已遭破坏或篡改”,“This copy of the I…

mysql hugepage_因未配置Hugepage会话数添增悲剧案例

今天一朋友反馈他们的一个数据库hang住了,通过ssh也不能登录系统,他们没有办法重启系统解决问题,现在想让我帮忙找出问题原因分析awr得出询问朋友,他们的库一般session保持在200个左右,这次突然飙升到750以上,属于异常情况分析监听日志看到在截图的时间内,整体访问较频繁,某个i…

ip地址自动切换器_网络IP切换器IPProviders下载_IPProviders官方版下载1.1.22

IPProviders官方版是非常强大的ip切换器助手,可以进行ip地址更换,网关和dns更改。使用方法很简单,用户只需要提前设置好ip地址,需要切换的时候就可以任意切换了,让你可以随意切换更改自己的IP地址,非常方便…

mysql心得体会一百字_MYSQL CPU 100%实例详解

MYSQL CPU 100%实例详解2011/7/2 11:19:19作者:xy我要评论(0)自己的一台主机(Windows 2003 IIS PHP MYSQL )近来 MySQL 服务进程 (mysqld-nt.exe) CPU 占用率总为 100% 高居不下。此主机有10个左右的 database, 分别给十个网站调用。据朋友测试,导致 …

mysql联合索引like_MySQL全文索引、联合索引、like查询、json查询速度大比拼

查询背景有一个表tmp_test_course大概有10万条记录,然后有个json字段叫outline,存了一对多关系(保存了多个编码,例如jy1577683381775)我们需要在这10万条数据中检索特定类型的数据,目标总数据量:2931条SELECTCOUNT(*) …

mysql 代替分号_除了使用分号(;)终止符之外,还有其他可执行MySQL查询的内置命令吗?...

借助以下内置命令,即使不使用分号(;)终止符,MySQL也可以执行查询。自我我们可以通过使用\ G选项来使用此命令。这意味着将当前语句发送到要执行的服务器,并以垂直格式显示结果。当我们使用\ G并在一条语句(单行或多行)中省略分号(;)时&#x…

python在线包安装mysql_python安装mysql的依赖包mysql-python操作

一般情况下,使用pip命令安装即可:[rootdthost27 ~]# pip install mysql-python但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖组件。所以必须先安装mysql-devel类的包,而且必须要对应好mysql客…

python数组切片赋值后不改变原数组_js数组操作---改变原数组和不改变原数组的方法整理...

一、改变原始数组的方法:1、pop()删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值。arrayObject.pop() 。2、push()push() 方…

收藏列表放入MySQL还是redis_mysql导入redis

程序遍历MySQL然后插入Redis,效率极低。利用redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令设计的。可以把Mysql查询的内容格式化成redis-cli可用数据格式。1, 根据表创建一个sql,将数据转换为redis可用的格式(1) 表…

java 虚拟机内存不足_JAVA虚拟机内存不够解决办法

软件152笪世海1. 查找matlab根路径.在matlab命令行中敲入:matlabroot显示根路径,如:C:\MATLAB72.查看当前Java虚拟机最大堆内存, 敲入:java.lang.Runtime.getRuntime.maxMemory3.查看Java虚拟机版本.敲入:version -java4.在 $MATLAB\bin\$ARCH 路径下新建java.opts文件.$MATLAB…

Java发送会议邮件 时区_【上海校区】基于JavaMail的日历(会议)邮件发送实现

[Java] 纯文本查看 复制代码/*** 发送会议邀请邮件** param toMailAddress 收件人(邀约人),支持多个* param mailSubject 邮件主题* param mailContent 邮件内容(建议传入velocity去构建生成的HTML内容)* param summary 摘要,即日历(日程)上显示的标题* …

java saxexception_SAXException

公布的WebService别人调用时出现org.xml.sax.SAXexception发布的WebService别人调用时出现org.xml.sax.SAXexception发布的webservice,返回的一个json,php调用的时候有一定几率出现org.xml.sax.SAXexception,不知道是什么原因3热度com.ibm.ws.jsp.JspCor…

fun函数python_Python函数

Python函数一般函数定义方式def sum(a, b): return ab##返回a与b的和123一些概念与特性嵌套Python的函数是可以嵌套定义的def Fun1(): print("Runing Fun1...") def Fun2(): print("Runing Fun2...") Fun2()12345但是要注意在内部定义就只能在内部使用&…

java 给对象创建实例_Java中创建(实例化)对象的五种方式

Java中创建(实例化)对象的五种方式1、用new语句创建对象,这是最常见的创建对象的方法。2、通过工厂方法返回对象,如:String str String.valueOf(23);3、运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance(…

java markdown转word_一键将 Word 转换为 Markdown

李缘 | | Stata 连享会 (知乎 | 简书 | 码云方法一:Writage Pandoc -- 双剑合璧!打开 Writage网页,点击Download,再点击Download Now完成下载网页下载运行安装程序,一般按照默认选项安装就好啦安装重启电脑&#xff0…

java盒图_java合成图片

package com.pbids.sanqin.util;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.net.URL;public class PicUtil {private Font font new Font("宋体", Font.PLA…

mysql+两天前+函数_Mysql 日期函数

一、MySQL 获得当前日期时间 函数1.获取当前日期时间(date time):now()sysdate()sysdate()和now()的区别在于sysdate() 在函数执行时动态得到值, now() 在执行开始时值就得到了,看下面的例子就明白了:mysql> select sysdate(),sleep(3),s…