付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简ShopNC本地生活系统是网城创想公司自主研发的一款产品,采用O2O模式(OnlineTo系统特ShopNCMVC一、ORM影射等。封装了CURD和一些常用操作,在项目配置、类库引入、查询语言、数据验MVC设模型(M):模型的定义由Model类来完成。控制器(C):由框架和Action共同完成。视图(V):由tpl类和模板文件组成。不拘泥于MVC本身。执行流结 core/framework系统框架core/framework> core/framework>core core/framework>db core/framework>function系统方法core/framework>libraries类库 shop/language语言包shop/template模版 MVC设模型(M):模型的定义由Model类来完成。控制器(C):由框架和Action共同完成。视图(V):由Tpl类和模板文件组成。ShopNC本地生活系统控制器类位于shop/control core/framework/core/base.php中control()方法依据act和op参数完成,如果act或op参数为命名为control/store.php,类名为storeControl。将会执行control/index.phpindexOp()方法将会执行control/store.php中的listOp()方法模ShopNCModel关数据表的CURD操作,这就是动态模型处理,不需要重复进行模型实例化即可实现对不同表的操$model$model=););$model$model=文件及内部的如果存在,将实例化member.model.php中的memberModel类,如果需使用框架已封装的方法(select、find、delete、insert等),需要在memberModel类中继承Model类Model{publicfunctionconstruct(){parent::}}如果不存在,将实例化core/framework/core/model.phpModel$model$model=);$model->table('member')->delete(55会员信息member数据库抽象ShopNC本地生活系统提供了多个数据库驱动,目前支持mysql、mysqli、pdo_mysql和oci8MySQLORACLE视视图功能主要由Tpl类(core/framework/tpl/nc.php)和模板文件组成(位于下),Tpl类完成控制器和模板文件的沟通,控制器通过Tpl类将数据输送到模板,然后由模板输出数据,ShopNC本地生活系统未使用特定的模板语言,而是使用原生的PHP语法,这样省去了解析 存放ftp操作的相关函数 系统类库主要存放在core/framework下的libraries、cache、core和tpl中,libraries放的主要是完成专项功能的类,cache下是存放多种缓存驱动类,core下存放的是基类和模型处理类,tpl只存放视图类Tpl。libraries/ cache/ cache/cache.apc.php apc缓存类 xcache缓存类 cache pdo_mysqlMySQL 开发配置文动更改,配置存放在$config数组中,主要配置参数(下标)如下:是否开启gzip数据库连接驱动mysqli(全文检索设置,该配置在只有在安装了sphinx系统控制器类位于control,控制器调度由core/framework/core/base.php中方法依据act和op参数完成,如果act或op参数为空,系统会自动赋值“index器类文件为control/store.php,类名为storeControl。memberCenterControl和memberstoreControl分别适用于前台展示、展示、会员中心、中心、三类控制器,商铺展示需要继承basestoreControl类。http://<siteurl>/index.php?act=store将会执行storeControl类的indexOp方http://<siteurl>/index.php?act=store&op=index将会执行storeControl类的indexOp方模实例$model=$model=文件及内部的内置方 execute、sum、avg、max、min、setInc、setDec、和动态方法getby_、getfby_。一般在$model$model=//查询会员表全部信息$model-为1的会员列表信息,注意:select$model->where(array('gender'=>1))-$model=$model-Find方法:取得一条记录信息,find同select$model$model=$model->where(array('member_id'=>5))-$model$model=$model-Limit$model$model=$model->limit(4)-SELECT*FROMmemberLIMIT$model->limit('4,10')->selectSELECT*FROMmemberLIMIT $model$model=$model$model->table('member')-//内//内查询order和order_pwd$on=$model->table('order,order_pwd')->join('inner')->on($on)->limit(2)-$model$model=$model->limit(4)- $model$model->table('member')- desc')->limit(4)-$model$model->table('member')->order('member_iddesc,genderasc')- 方法:指定sql$model->where(array('member_id'=>5))-$model->where(array('member_id=5'))-$model-$model- order.order_id=2')- 方法:指定要查询的字段,不使用field$model$model->field('member_id,member_name')-Join方法:指定多表联查时的类型,支持内、左(默认)、右。On与join方法$model$model=//查询member和store表,返回会员ID为6$field=$on=$model->table('order,order_pwd')-$model->join('inner')->on($on)->where(array('order.order_id'=>1))-Count$model$model=$model-//返回会员ID大于15$model->where('member_id>15')方法:实现记录分页,格式为page(每页显示数,录数),录数可以人为指定,也//每页显示//每页显示10$model=录$model$model->page(10)- desc')-//每页显示10录为1000录$model->page(10,1000)->order('member_iddesc')-注意:如果同时使用wherepagewherepage$model$model->where('id=1')->page(10)-$model->page(10)->where('id=1')- ge方法:返回分页超,结合page方法完成分页,如$model- $model- //样式2//向//向link表插入数据,并返回主键$model=$data$model-$model$model-$model$model=$dataarray($model->table(member)-InsertAll$model$model=array(array()$model-Delete$model$model=//删除主键为//删除主键为5$model-$model->where(array('member_id'=>5))- $model$model=//更新主键(member_id)为1$data$model->table('member')-$data//查找拥有//查找拥有团购$model=$model->table('order_pwd')->field('order_id')->distinct(true)- 方法:清空单个表中的内容,返回true/false//清空//清空store$model=$model->table('store')- $model$model=//返回所有订单$model->table('order')-//订单的平均价$model->table('order')-//订单的最大金$model->table('order')-//订单的最低金$model->table('order')-自增/自减:系统使用 和setDec完成自增和自减,示例如下$model$model=//使主键值为1 点击量加$model->table('store')->where(array('store_id'=>1))-//结合exp参数,使主键值为1点击量加$model=$dataarray('store_id'=> =>array('exp','store_click-$model-CURD操数$model=$model=//查询会员表全部信息$model-为1的会员列表信息,注意:select$model->where(array('gender'=>1))-$model-使用find$model$model=$model->where(array('member_id'=>5))-$model-$model$model=//使用getby_动态方法,取得member_name为kevin$model-//等同于SQL:SELECT*FROM`member`WHEREmember_namekevinLIMIT//使用getfby_方法,取得member_id为6$a$model //等同于SQL:SELECTmember_nameFROM`shopnc_member`WHEREmember_id6'LIMIT1更新数据$model$model=$dataarray($model->table('member')->where(array('member_id'=>1))-插入数据//向member表插入数据,并返回生成的主键//向member表插入数据,并返回生成的主键$model=$dataarray($model-$model$model-使用Insertreplacetrue$model$model=$dataarray($model->table('member')-$model$model=$data=)$model-也可以使用executeSQL删除数据$model=$model=//删除主键为5$model-$model->where(array('member_id'=>5))-使用clear$model=$model->table('member')-也可以使用executeSQL运算gtlt:小于eqneq:不等于(!=)notlike:NOTLIKElike:同sql中的between:同sql中的BETWEEN[not]in:同sql中的[NOT]IN//uid>//uid<//uid=//uid>=//uid<=//5<=uid<=//group_namelike'a%'orgroup_namelikeAND(OR//最后将以上条件传入 方$list=Model(TABLE)->where($condition)-视系统采用MCV模式,由视图类Tpl将变量抛到模板并进行输出,使用setDir设置模板 用output方法抛出变量,使用 //ge('index');];缓缓存方式包括:file、apceAcceleratormemcachexcache,开发者也可以开发更加适合自系统由Cache缓存类进行缓存操作,由Cache::getInstance方法完成缓存类型实例化://取得//取得memcache$obj_cache=$obj_cache- 缓$obj_cache-$obj_cache-便于操作,系统对这些表的缓存处理封装到专有的cache模型中,使用Model('cache')->call(表名)为了方便对缓存的操作,系统新增了H和FH统cache/setting.php缓存信息:内部执行过程为:首先取得file$obj_cache=$obj_cache-使用Hsetting$obj_cache=$obj_cache-删除原有settingcache_settingsetting使用set最后返回true,至此缓存生成成功用于内存缓存的操作,F方法不能直接将数据表内容生成缓存,只可将PHP中已经存的内容(如数组、字符串等)生成到文件缓存,在文件缓存时,推荐使用效率更高的F方法。 //取得setting //将$data数组生成到setting安 中放置一个1字节的index.html文件,内容为一个空格,以避免当http服务器的DirectoryListing打开时,服务器文件被索引和列表。函数与类常量参[BasePath]=>系统所在基准 [DS]=> 分隔符/ [TIMESTAMP]=>系统当前时间(如 [SiteUrl]=>商城URL地址()[CHARSET]=>系统编码(UTF-8/GBK) _PRE [CORE_PATH]=>框架所在 [TPL_NAME]=>模板风格,默认default[BASE_TPL_PATH]=>模板文件 [DBPRE]=>数据库表前缀默认shopnc_[ATTACH_PATH]=>附 ,默认 MON_PATH]=>通用附件 =>会员头像默认shop/member MENT_PATH]=>评论默认 [ATTACH_STORE_PATH]=>商铺默认shop/store[ATTACH_COUPON_PATH]=>券默认shop/coupon[ATTACH_CLASS_PATH]=>分类默认shop/class[ATTACH_GROUPBUY_PATH]=>团购默认shop/groupbuy[ATTACH_ACTIVITY_PATH]=>活动默认shop/activity[ATTACH_QRCODE_PATH]=> 默认shop/qr_code[ATTACH_CARD_PATH]=>会员卡默认shop/card[ATTACH_APPOINT_PATH]=>预约默认shop/appoint[ATTACH_GOODS_PATH]=>商品默认shop/goods[ATTACH_ADV_PATH]=>默认shop/adv[ATTACH_BRAND_PATH]=>品牌默认shop/brand[ATTACH_ARTICLE_PATH]=>文章默认shop/article[ATTACH_GIFT_PATH]=>礼品默认shop/gift主要函数参系统函方 语法:string($name='')参数:$name需要得到的 encrypt方语法:stringencrypt($txt$key参数:$txt待加密的字符串$keyencryptencrypt('password','cb8d4e597fc751a56dc30258c4db1226');//输出decrypt方语法:stringdecrypt($txt$key参数 $key//输出getIp方getReferer方法语法:stringgetReferer()Model方语法:objectModel($model$model=$model=$model=redirect方语法:redirect($url readDirList方 语法:arrayreadDirList($path)[0[0]=>[1]=>[2]=>[3]=>[4]=>[5]=>[6]=>))replaceSpecialChar方语法:stringreplaceSpecialChar($string) 语法 ($name,$value,$expire='3600',$path='', ='', 名 $path的服务器路径默认为 的$secure是否通过安全的HTTPS连接来传输,默认为('uid',1000,2*3600);2('uid','',time()-3600showMessage方法跳转地址当$show_type$msg_typesuccerrorshowMessage(showMessage(showMessage(showMessage(showDialog方语法:showDialog($message$url$alert_typeerror$extrajs$time$url提示完后的URL提示类型$extrajs扩展JSshowDialogshowDialog(setTimeZone方法语法:showDialog($message$url$alert_typeerror$extrajs$timesetTimeZone(8);//设置东8setTimeZone(8);//设置东8showEditor方法$id编辑器id名称,与name$width宽带单位$height高带单位getDirSize方 ,$size=$size=delCacheFile方 文件,但不会删除默认的index.html文件语法:booldelCacheFile($dir)//删除除index.html//删除除index.htmlreadFileList方 ncPriceFormat语法:stringncPriceFormat($price)echoncPriceFormat(100.2);//输出100.20ncUrl方作用:组成url语法:stringncUrl($param=array(),$type='', =参数:$param$typeurl Url作用:获取二级url地 参数 $typeurl类 ncReplaceText $message内容模str_cut语法:str_cut($string,$length,$dot='')参数 $dotrequest_uriget_image_type方C语法:C($key) string$key取得下标值C('site_url')取得$config['site_url']值defaultGoodsImage方法语法:defaultGoodsImage($key) import方法 $libname要加载的文random方random($length$numeric $length生成随机数的长template参数 chksubmit作用:检测FORM语法:chksubmit()check_repeat方法参数 $key检测名log_times语法:intlog_times($key,$op= ', $key记录操作的名lazypage值语法:array $count录 $page_limitstart分页初始limitF语法:F($name$value$pathcache',$ext $name文件名称(不含扩展名$path写入cache //取得setting //将$data数组生成到settingwrite_file方语法:booleanwrite_file($filepath$data$mode $filepath待写入内容的文件路mk_dir方法语法:booleanmk_dir($dir$mode $dir待创建$modepagecmd语法:pagecmd($cmd$arg $cmd命令类seteachnum设置每页数量settotalnum设置记录总数setstyle设置分页样式show返回分页obj返回分页对象本身gettotalpage取得总页数throw_exception方法 $error异常信息halt方 compress_code参数:$content待压缩的内容, $key缓存名 默认为file缓存H('setting',null);//清空setting缓存H('setting',true,'file');//生成setting文件缓存H('setting',true,'memcache');//生成setting缓存到rec方参数:$rec_idL语法:stringL($key参数:$rec_id 函makeSeccode方法参数:$nchash哈希数checkSeccode方法 $nchash哈希主要类库参tableInfo方tableorderwhere作用:设置sqlonjoin作用:设置关联表,一般与on语法:objectjoin($string)limit方作用:设置limitgroup方法作用:设置groupby语法:objectlimit($field)having方法作用:设置having语法:objecthaving($condition)distinct方法作用:设置distinct,去重复数据语法:objectdistinct()page参数:integermin方语法:integermax作用:取最大值,用法同count示例:sum语法:integeravg语法:integerselect方法:执行查询,详见3.3模型delete方法:执行删除,详见3.3模型update3.3insert方法:插入数据,详见3.3模型inserAll3.3query方法:执行sql,主要为查询操作,详见3.3clear方语法:clear()getLastIDgetFields方setInc参数:string$fieldInt$num增加数值setDec方法参数:string$fieldInt$numcls语法:objectcls() ge ModelDb类buildSelectSql():拼成select语句parseWhere():组合where条件parseWher
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合复习与测试教学设计高中思想政治人教版选修5生活中的法律常识-人教版
- 西师大版(2013)小学信息技术六年级下册第五单元听话的小猫活动1有趣的动画舞台(教学设计)
- 高中历史 第二单元 古代历史的变革(下)第7课 忽必烈改制(2)教学教学设计 岳麓版选修1
- 温故而知新可以为师矣教案-2025-2026学年高二上学期心理健康教育
- 九年级历史下册 第一单元 第2课《工业革命新发展》教学设计2 华东师大版
- 培训机构合作协议范本合同二篇
- Unit 5 Exploring space (Period 5)(教学设计)-2026-2027学年人教PEP版英语六年级上册
- 2026年改则县中小学幼儿园教师招聘考试参考题库及答案解析
- 2026年清水县医疗事业单位人员招聘笔试参考题库及答案解析
- 2026年东光县医疗事业单位人员招聘笔试备考题库及答案解析
- 2024-2025学年广东广州番禺区七年级(下)期末数学试卷及答案
- 2026福建海峡科化股份有限公司社会招聘15人笔试备考题库及答案详解
- 2026北京语言大学新编长聘人员招聘9人(第三批)考试备考题库及答案详解
- 2026秋北京版小学数学二年级上册教学计划
- 消化内镜操作规范
- 护理沟通与人文关怀技巧
- 软包墙面施工方案及技术措施
- 2026年秋季学期 1530安全教育记录
- 病历书写基本规范(国家卫健委2022年版)
- 核心素养导向下大单元教学-成都中考B卷填空题23与几何压轴26最值系列专题复习教案
- GB/T 14048.7-2016低压开关设备和控制设备第7-1部分:辅助器件铜导体的接线端子排
评论
0/150
提交评论