YzmCMS二次开发设计指南

摘要: YzmCMS是选用MVC设计方案方式开发设计,根据控制模块和实际操作的方法开展浏览,选用单一通道方式开展新项目布署和浏览,不管浏览一切一个控制模块或是作用,仅有一个统一的通道。...

YzmCMS是选用MVC设计方案方式开发设计,根据控制模块和实际操作的方法开展浏览,选用单一通道方式开展新项目布署和浏览,不管浏览一切一个控制模块或是作用,仅有一个统一的通道。假如您在二次开发设计,提议打开APP_DEBUG,在网站根目录下index.php文档的12行....

YzmCMS是选用MVC设计方案方式开发设计,根据控制模块和实际操作的方法开展浏览,选用单一通道方式开展新项目布署和浏览,不管浏览一切一个控制模块或是作用,仅有一个统一的通道。

假如您在二次开发设计,提议打开APP_DEBUG,在网站根目录下index.php文档的12行。

一、基本文件目录构造
..../ 网站根目录
..../application 整站运用文件目录
..../cache 缓存文件文件目录[务必可载入]
..../common 整站公共性文件目录[务必可载入]
..../uploads 默认设置提交文件目录[务必可载入]
..../yzmphp 程序关键文件目录[不提议改动]
..../index.php 程序单一通道文档
..../.htaccess Apache伪静态数据文档[如您并不是Apache手机软件,可依据此标准重新写过伪静态数据]
..../),这好多个文档时务必有的,在建控制模块时也一定要有这好多个文档。

以admin控制模块举例说明:

application
---admin
------common(控制模块公共性文件目录)
------controller(控制模块操纵器文件目录)
------model(控制模块实体模型文件目录)
------view(控制模块主视图文件目录)
二、建立一个新操纵器

controller文件目录中的每个.php文档全是一个操纵器,操纵器名字都以.class.php后缀名末尾。

在建一个操纵器:test

文档名字:test.class.php,操纵器类的类名字与操纵器文档名务必同样


 ?php
//这二行务必要,后台管理管理权限操纵
defined( IN_YZMPHP ) or exit( Access Denied  
yzm_base ::load_controller( common ,  admin , 0);
//这二行务必要,后台管理管理权限操纵
class test mon {

}


URL详细地址表明:

你的网站地址/控制模块名字/操纵器名字/方式名字


//载入别的操纵器
如:yzm_base ::load_controller( common ,  admin , 0);
表明:yzm_base ::load_controller( 操纵器名字 ,  控制模块名字 , 是不是原始化);
//载入系统软件类
如yzm_base ::load_sys_class( page , ,0);
表明yzm_base ::load_sys_class( 类名字 , 拓展详细地址 ,是不是原始化);
假如原始化,回到的是一个类的案例化目标,不然仅仅载入该类。


三、普遍方式表明

本系统软件中最经常用的三种方式:D()方式、 M()方式、  U()方式、


D方式

D是data 的首英文字母,主要参数为一个表名字,回到的是一数量据表目标(在YzmCMS3.0下列版本号中是M方式)


//案例化一数量据表目标,只传到表名就可以,下列全部实际操作表明在对test表开展实际操作
$db = D( test 
//加上內容[取得成功:回到全自动提高的ID,不成功:false]
//$db- insert(数字能量数组);
//$db- insert(array( name = 名字 , sex = 男 
//$db- insert(array( name = 名字 , sex = 男 ), true); //第二个主要参数选填 假如为真值 则打开实体线转义

//$db- delete(array( id = 15 //$db- delete(array(3,4,5), true); //第二个主要参数存有时,第一个主要参数为数据库索引数字能量数组,大批量删掉好几个 //$db- delete(array( 1 =  //删掉全部数据信息 //升级內容[回到危害行数] //$db- update(array( name = 名字 , sex = 男123 ),array( id = 10 //$db- update(array( name = 名字 , sex = aaa ),array( id = 10 ), 1  //第三个主要参数选填 假如存有,并且为真值 则打开实体线转义
//$result = $db- select(); //$result = $db- field( uname,id )- select(); //$result = $db- where(array( name = %php% ))- select(); //like 查寻 //$result = $db- join( `yzmcms_admin` ON yzmcms_admin.id=yzmcms_admintype.id )- where(array( id = 1 ))- select(); //join 协同查寻 //$result = $db- where( typeid in (1,2) )- select(); //SQL : select * from user where typeid in (1,2) //$result = $db- where(array( name = %php% ))- limit( 0,5 )- select(); //like 查寻 //$result = $db- where(array( name = %php% ))- limit( 0,5 )- order( id desc )- select(); //like 查寻 //$result = $db- where(array( sex = 男 ))- limit( 0,5 )- select(); //$result = $db- field( uname,id )- where(array( sex = 男 ))- limit( 0,3 )- order( id desc )- select(); //$result = $db- field( sex ,count(sex),avg(height),sum(height)  )- group( sex )- having(  avg(height)  160 )- select(); //$result = $db- field( sex ,count(sex) as  总数量 ,avg(height) as  均值身高 ,sum(height) as  总身高   )- group( sex )- select(); //$result = $db- field( sex ,count(sex) as  总数量 ,avg(height) as  均值身高 ,sum(height) as  总身高   )- group( sex )- having(  均值身高  160 )- select(); //标准超过书写 //$res = $db- where(array( id    = 21))- select(); //同样,不一于或是低于以下 //$res = $db- where(array( id !=  = 21))- select(); //P($res); //查寻內容 find方法[回到一维数字能量数组] //$result = $db- find(); //$result = $db- field( uname,id )- find(); //$result = $db- where( typeid in (1,2) )- find(); //SQL : select * from user where typeid in (1,2) limit 1 //$result = $db- field( id,name,height )- where(array( sex = 男 ))- find(); //$result = $db- join( `yzmcms_admin` ON yzmcms_admin.id=yzmcms_admintype.id )- where(array( id = 1 ))- find(); //join 协同查寻 //$result = $db- field( uname,id )- where(array( sex = 男 ))- order( id desc )- find(); //查寻纪录数[回到纪录行数] //$result = $db- total(); //$result = $db- where(array( age = 12 ))- total(); //$result = $db- join( `yzmcms_admin` ON yzmcms_admin.id=yzmcms_admintype.id )- where(array( age = 12 ))- total();
//自定实行SQL句子 [yzmcms 意味着表作为前缀] //$db- query( select * from yzmcms_admin   //获得一维数字能量数组,一条結果 //$db- fetch_array($db- query( select * from yzmcms_admin )); //获得二维数字能量数组 //$db- fetch_all($db- query( select * from yzmcms_admin )); //用以调节程序,键入最终一条SQL句子 //$db- lastsql();


YzmCMS 3.8版本号增加的数据信息库实际操作

// 增加 one 方式,用于查寻某一字段名的值 [回到数值标识符串种类]
$res = D( admin )- field( rolename )- where(array( adminid = 1))- one();
P($res); //运作結果  string(15)  非常管理方法员 
$res = D( article )- field( userid )- where(array( id = 1))- one();
P($res); //运作結果  string(1)  1 

$res =  $admin- alias( a ) - field( a.adminid,a.adminname,a.rolename,b.address,b.loginip,b.logintime ) - where(array( loginresult = 1)) - join( yzmcms_admin_login_log b ON a.adminname=b.adminname ,  left ) - limit(5) - select(); $admin- lastsql(); //最终转化成的SQL为: SELECT a.adminid,a.adminname,a.rolename,b.address,b.loginip,b.logintime FROM yzm_admin a LEFT JOIN yzm_admin_login_log b ON a.adminname=b.adminname WHERE loginresult=1 LIMIT 5 // 留意: join里的 “yzmcms_” 可表明随意的表作为前缀,不用改动
// 仿真模拟业务流程步骤,实行插进和升级实际操作 $res = $affair- insert(array( name = 袁志蒙 , password = test $res2 = D( test )- update(array( name = yzmcms , password = 123456 ), array( id = if($res   $res2){ $affair- commit(); //递交事务管理 }else{ $affair- rollback(); //事务管理回退 }


YzmCMS 5.7版本号增加的数据信息库实际操作

// insert方式增加第四个主要参数:replace
// 英语的语法:insert($data, $filter = false, $primary = true, $replace = false)
// $data 要提升的数据信息,主要参数为数字能量数组
// $filter 是不是打开实体线转义
// $primary   是不是过虑主键
// $replace   是不是为replace
// 回到值: 取得成功:回到全自动提高的ID,不成功:false
$data = array( title = title ,  content = content 
D( test )- insert($data, true);
// 增加大批量插进方式:insert_all
// 英语的语法:insert_all($data, $filter = false, $replace = false)
// $data 要提升的数据信息,主要参数为二维数字能量数组
// $filter 是不是打开实体线转义
// $replace   是不是为replace
$data = array(
 array( title = title1 ,  content = content1 ),
 array( title = title2 ,  content = content2 ),
 array( title = title3 ,  content = content3 ),
$res = D( test )- insert_all($data, true);


M方式

M是model的首英文字母,主要参数为一个model类名字,回到的是一个model类目标,意思是载入并案例化本控制模块下的model类


U方式

U是URL的首英文字母,回到的是一个URL标识符串,意思是转化成URL详细地址

// 转化成当今控制模块下确当前操纵器的add方式URL详细地址
如:U( add  
// 转化成当今控制模块下的test操纵器的add方式URL详细地址
如:U( test/add ) ;
// 转化成admin控制模块下的test操纵器的add方式URL详细地址
如:U( admin/test/add )
表明:U( 控制模块名字/操纵器名字/方式名字 )
U方式能够有第二个主要参数,就可以传参
如:U( admin/test/init ,array( id = 1, status = 1))和U( admin/test/init , id=1 status=1 )是等效电路的
四、二次开发设计标准

YzmCMS创作者开发设计时较为重视编码简约、系统软件高效率等特性,因此您在应用YzmCMS做二次开发设计中也应当遵照下列开发设计标准:

1.增加作用尽可能不必改动系统软件全文件,提议以控制模块软件方式开发设计。

mon/function/extention.func.php”文档中,不危害系统软件升級。

3.方式名字和自变量名字都以小书写符取名。

4.类文档都以小书写符取名,并且以.class.php后缀名末尾。

5.全部方式尽量写上注解等。




联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503