搜索
您的当前位置:首页ShopNC本地生活2.0系统开发手册(新)

ShopNC本地生活2.0系统开发手册(新)

来源:小侦探旅游网
天津市网城天创科技有限责任公司ShopNC本地生活系统开发手册

[本地生活开发手册]天津市网城天创科技有限责任公司

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069291天津市网城天创科技有限责任公司1.简介

ShopNC本地生活系统是网城创想公司自主研发的一款产品,采用O2O模式(OnlineToOffline),将线下商铺和互联网结合,让互联网成为线下交易的前台,专注于本地生活服务,集生活和购物为一体的专业网站,体现本地生活特色,满足消费者多样性的需求,也为商户提供了很好的展示和销售渠道。商户在线上揽客增加客流,消费者在线下消费,享受更多的优惠,商户可以通过参加团购来提高利润和知名度,还可以设立优惠劵和会员卡,吸引更多客户,用户可以对商家进行点评,参加团购,并且用优惠劵购物,享受折扣,站点提供更丰富的商户内容、商品信息,把原本分散的内容整合到一个平台上。

1.1系统特性

ShopNC借鉴了国内外优秀的开源程序与开发模式,使用面向对象的开发结构、MVC模式、单

一入口、ORM影射等。封装了CURD和一些常用操作,在项目配置、类库引入、查询语言、数据验证、模型处理、视图与布局、项目压缩、SEO支持、分布式数据库支持及扩展性等方面有独特的表现。

●MVC设计

ShopNC本地生活系统融合了MVC模式进行开发,系统开发高效,各个节点结构更加清晰。模型(M):模型的定义由Model类来完成。控制器(C):由框架核心和Action共同完成。视图(V):由tpl类和模板文件组成。

MVC作为一种模式只是提供了一种敏捷开发的手段,ShopNC本地生活系统融入MVC模式但不拘泥于MVC本身。

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069292天津市网城天创科技有限责任公司●查询机制丰富

系统内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、多表查询、子查询和原生查询,使用数据查询简洁高效。

●动态模型

系统中无需创建对应的模型类、即可轻松完成CURD操作,使数据库操作更加简洁。●支持字段检测

系统支持缓存字段信息,支持非法字段过滤和字段类型强制转换,确保数据操作的安全性。●多语言支持

系统内置了简体中文与繁体中文语言包,并可以跟据自己的运营需求自行扩展。

1.2执行流程

系统采用index.php作为统一入口,主要代码如下:

include('shop/index.php');ShopNC本地生活系统框架执行流程如下:

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069293天津市网城天创科技有限责任公司1.3目录结构

系统主要目录:adminapicachedatacore

后台管理(可更改)API文件目录缓存文件常用固定数据核心目录

core/framework系统框架core/framework>cache

天津市网城天创科技有限责任公司缓存驱动

网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069294天津市网城天创科技有限责任公司core/framework>corecore/framework>dbcore/framework>functioncore/framework>librariesshopshop/control

商城目录控制器

核心文件

数据层驱动系统方法类库

shop/language语言包shop/template模版installcircleindex.php

安装文件目录圈子目录入口文件

1.4MVC设计

ShopNC本地生活系统融入MVC模式进行开发,系统开发高效,各个节点结构更加清晰。模型(M):模型的定义由Model类来完成。控制器(C):由框架核心和Action共同完成。视图(V):由Tpl类和模板文件组成。

MVC作为一种模式只是提供了一种敏捷开发的手段,ShopNC系统应用MVC但不拘泥于MVC本身。

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069295天津市网城天创科技有限责任公司1.5控制器

ShopNC本地生活系统控制器类位于shop/control目录,控制器调度由

core/framework/core/base.php中control()方法依据act和op参数完成,如果act或op参数为空,系统会自动赋值“index”。

控制器类文件名一般为业务名称,类名称一般为业务名称+“Control”,如商铺控制器类文件命名为control/store.php,类名为storeControl。

http:///index.php将会执行control/index.php中的indexOp()方法http:///index.php?act=store&op=list将会执行control/store.php中的listOp()方法

1.6模型

ShopNC本地生活系统Model的使用更加灵活,可以无需进行任何模型定义,就可以完成对相

关数据表的CURD操作,这就是动态模型处理,不需要重复进行模型实例化即可实现对不同表的操作。新模型的处理支持向下兼容。

使用Model()方法创建模型,可以创建一个空模型实例,然后使用该实例完成对不同表的操作,如:

$model=Model();$model->table('member')->find(5);//查询主键ID为5的会员信息$model->table('member')->delete(5);//删除主键为5的会员信息也可以实例化一个非空模型实例,如:

$model=Model('member');天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069296天津市网城天创科技有限责任公司系统首先会查找model/member.model.php文件及内部的memberModel类是否存在:a)如果存在,将实例化member.model.php中的memberModel类,如果需使用框架已封装

的方法(select、find、delete、insert等),需要在memberModel类中继承Model类并在构造方法中触发父类构造方法,

classmemberModelextendsModel{publicfunction__construct(){parent::__construct('member');}//除使用系统提供方法以外,还可以自定义方法//publicfunctionmyfuc(){//添加业务逻辑}b)如果不存在,将实例化core/framework/core/model.php中的Model类,也就是只实例化

框架提供的模型类(动态模型)

$model=Model('member');$model->find(5);//查询主键为5的会员信息$model->table('member')->delete(5);//删除主键为5的会员信息,即使创建member模型,还是可以使用该模型的table()方法来操作其它表1.7数据库抽象层

ShopNC本地生活系统提供了多个数据库访问驱动,目前支持mysql、mysqli、pdo_mysql和

oci8驱动,支持MySQL和ORACLE数据库,系统会跟据当前的数据库配置,自动调用相应的数据层驱动,同时系统还支持数据库的分布式配置,为企业客户保驾护航。

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069297天津市网城天创科技有限责任公司1.8视图

视图功能主要由Tpl类(core/framework/tpl/nc.php)和模板文件组成(位于templates目录

下),Tpl类完成控制器和模板文件的沟通,控制器通过Tpl类将数据输送到模板,然后由模板输出数据,ShopNC本地生活系统未使用特定的模板语言,而是使用原生的PHP语法,这样省去了解析模板语言的时间,加快响应速度。

1.9函数和类库

函数

系统函数均存放在core/framework/function目录中,考虑到以后的扩展,系统跟据功能将函

数拆分进入不同的文件中,

core.phpftp.phpseccode.phpbuild.php类库

系统类库主要存放在core/framework下的libraries、cache、core和tpl目录中,libraries存放的主要是完成专项功能的类,cache下是存放多种缓存驱动类,core下存放的是核心基类和模型处理类,tpl只存放视图类Tpl。

libraries/email.phplibraries/ftp.phplibraries/gdimage.phplibraries/json.php

邮件发送类ftp处理类水印类json处理类

存放系统的通用函数存放ftp操作的相关函数存放验证码操作的函数存放框架压缩的函数

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069298天津市网城天创科技有限责任公司libraries/language.phplibraries/log.phplibraries/page.phplibraries/resizeimage.phplibraries/seccode.phplibraries/security.phplibraries/sphinx.phplibraries/upload.phplibraries/excel.phpcache/cache.phpcache/cache.file.phpcache/cache.apc.phpcache/cache.xcache.phpcache/cache.memcache.phpcache/cache.eaccelerator.phpcore/model.phpcore/db.php

中间处理类

db/mysql.phpdb/mysqli.phpdb/pdo_mysql.php

天津市网城天创科技有限责任公司语言包处理类

日志类分页类

图片裁切类验证码处理类

字符过滤类sphinx全文检索类上传类excel导出类

缓存统一处理类,它是每种缓存类的操作入口文件缓存类

apc缓存类

xcache缓存类memcache缓存类eaccelerator缓存类

模型类

数据库操作中间层,界于模型和数据驱动中间的

mysql扩展MySQL数据库驱动mysqli扩展MySQL数据库驱动

pdo_mysql扩展MySQL数据库驱动

网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-583069299天津市网城天创科技有限责任公司db/oci8.phptpl/nc.php

oci8扩展ORACLE数据库驱动模板类(视图类)

2.开发指南

2.1配置文件

ShopNC本地生活系统的配置文件由data/config/config.ini.php。config.ini.php配置项需手

动更改,配置项均存放在$config数组中,主要配置参数(下标)如下:

shop_site_url

网站地址,系统安装时自动生成(最后不要加斜杠“/”)version

版本号,该项为安装时自动生成,不需要更改setup_date

安装日期,安装时自动生成,不需要更改gip

是否开启gzip,此项需要服务器支持dbdriver

数据库连接驱动mysqli(默认),mysql,pdo_mysql,oci8tablepre数据表前缀

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692910天津市网城天创科技有限责任公司db[1]主数据库配置db[slave]

从数据库配置,可设置多台从数据库,如果只有一个数据库,只配置主数据库即可memory

内存缓存哪些功能模块,该配置在cache[type]的值不等于file的情况下才会生效fullindexer

全文检索设置,该配置在只有在安装了sphinx时才会生效check_field

是否开启字段检测0关闭(默认)1开启(安全性提高,但效率降低)

2.2控制器

系统控制器类位于control目录,控制器调度由core/framework/core/base.php中control()

方法依据act和op参数完成,如果act或op参数为空,系统会自动赋值“index”。

控制器类文件名一般为业务名称,类名称一般为业务名称+“Control”,例如系统的品牌控制器类文件为control/store.php,类名为storeControl。

跟据商城业务需要,系统内置三个控制器父级类,BaseHomeControl、basestoreControl、

memberCenterControl和memberstoreControl分别适用于前台展示、店铺展示、会员中心、店铺

中心、三类控制器,商铺展示需要继承basestoreControl类。

访问http:///index.php?act=store将会执行storeControl类的indexOp方法

访问http:///index.php?act=store&op=index天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692911天津市网城天创科技有限责任公司将会执行storeControl类的indexOp方法

2.3模型实例化

2.3.1

使用Model()方法创建模型,可以创建一个空模型实例,然后全用该实例完成对不同表的操作,如:

$model=Model();也可以实例化一个非空模型实例,如:

$model=Model('member');系统首先会查找data/model/member.model.php文件及内部的memberModel类是否存在,实例化该类,如果不存在,则实例化框架提供的模型类,实例化模型更详细的信息可查看2.6模型2.3.2内置方法

系统模型提供了一系列快捷操作的方法,可以大幅提高开发效率。目前已提供的方法主要有select、find、limit、table、order、where、field、on、join、count、page、attr、showpage、insert、insertAll、delete、update、group、having、distinct、clear、query、execute、sum、avg、max、min、setInc、setDec、和动态方法getby_、getfby_。1.Select方法:取得查询信息,返回结果为数组,如果未找到数据返回null,select一般在

where,order,tabale等方法的后面,作为最后一个方法来使用。如:

$model=Model('member');//查询会员表全部信息$model->select();天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692912天津市网城天创科技有限责任公司//取得性别为1的会员列表信息,注意:select方法需要在连贯操作中的最后一步出现$model->where(array('gender'=>1))->select();Select方法可以传入主键ID,系统会自动查找对应信息,如:

//查询主键ID为5的会员信息$model=Model('member');$model->select(5);2.Find方法:取得一条记录信息,find同select一样,一般作为最后一个方法来使用,如:

$model=Model('member');//查询ID为5的会员信息$model->where(array('member_id'=>5))->find();Find方法可以传入主键ID,系统会自动查找对应信息,如:

$model=Model('member');//查询主键ID为5的会员信息$model->find(5);3.Limit方法:指定返回多少条记录数,

$model=Model('member');$model->limit(4)->select();//等同于SELECT*FROMmemberLIMIT4;$model->limit('4,10')->select();//等同于SELECT*FROMmemberLIMIT4,10;4.Table方法:指定要操作的数据表名称,返回模型实例本身,如:

$model=Model();//查询主键ID为5的会员信息天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692913天津市网城天创科技有限责任公司$model->table('member')->find(5);多表联合查询时,可以传入多个表名称,如:

//内链接查询order和order_pwd表,并返回前两条记录$on=orde.order_id=order_pwd.order_id';$model->table('order,order_pwd')->join('inner')->on($on)->limit(2)->select();如果实例化时指定了表名,则可以不使用table方法指定表名,如:

$model=Model('member');$model->limit(4)->select();//查询前条4会员记录5.Order方法:指定排序的参数,返回模型实例本身,如:

$model->table('member')->order('member_iddesc')->limit(4)->select();也可指定多个字段进行排序,如:

$model->table('member')->order('member_iddesc,genderasc')->select();6.Where方法:指定sql执行的条件,返回模型实例本身,入可传入数组或字段串,如:

//传入数组条件$model->where(array('member_id'=>5))->find();//传入字符串条件$model->where(array('member_id=5'))->find();//传入多表关联条件$model->table('order,order_pwd');$model->where('order.order_id=order_pwd.order_idandorder.order_id=2')->find();7.Field方法:指定要查询的字段,不使用field方法时,默认查询所有字段,如:

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692914天津市网城天创科技有限责任公司$model->field('member_id,member_name')->select();8.On方法:指定多表联查时的字段关系。

9.Join方法:指定多表联查时的链接类型,支持内链接、左链接(默认)、右链接。On与join方法

需要一起使用,如:

$model=Model();//内链接查询member和store表,返回会员ID为6的记录信息$field='order.order_id,order.order_sn';$on='order.order_id=order_pwd.order_id';$model->table('order,order_pwd')->field($field);$model->join('inner')->on($on)->where(array('order.order_id'=>1))->find();10.Count方法:返回记录总数量,如:

$model=Model('member');//返回会员表总行数$model->count();//返回会员ID大于15的记录数$model->where('member_id>15')->count();11.Page方法:实现记录分页,格式为page(每页显示数,总记录数),总记录数可以人为指定,也

可以为空让系统自动去计算,如:

//每页显示10条数据$model=Model('member');//系统会跟据每页显示数和已知属性自动计算总记录数天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692915天津市网城天创科技有限责任公司$model->page(10)->order('member_iddesc')->select();//每页显示10条数据,指定总记录为1000条,系统将不再计算总记录数$model->page(10,1000)->order('member_iddesc')->select();注意:如果同时使用where和page方法时,where方法要在page方法前面使用,如:

$model->where('id=1')->page(10)->select();$model->page(10)->where('id=1')->select();//正确//错误12.Showpage方法:返回分页超链接,结合page方法完成分页,如:

//显示上一页下一下链接$model->showpage(1);$model->showpage(2);//样式1//样式2(默认)13.Insert方法:插入单行数据,并返回最新插入的主键ID,如果插入失败返回false,完整格式如

下:

insert($data='',$replace=false,$options=array())//向link表插入数据,并返回最新主键ID$model=Model('table');$data=array('link_title'=>'ShopNC','link_url'=>'http://www.shopnc.net','link_sort'=>32,);$model->insert($data);天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692916天津市网城天创科技有限责任公司Insert方法支持延迟插入,加入$options参数即可,如:

$model->insert($data,false,array('priority'=>'DELAYED'));Insert方法同样支持replace操作,将第二个参数设置为true即可,如:

$model=Model();$data=array('member_name'=>'ShopNC',);$model->table(member)->insert($data,true);14.InsertAll方法:实现批量插入数据,如:

$model=Model('member');$data=array(array('member_name'=>'ShopNC',),array('member_name'=>'ShopNC_O2O',));$model->insertAll($data);15.Delete方法:删除记录,如:

$model=Model('member');天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692917天津市网城天创科技有限责任公司//删除主键为5的记录$model->delete(5);//或者$model->where(array('member_id'=>5))->delete();16.Update方法:数据更新,如果更新内容含有主键下标,自动以该主键为更新条件,如:

$model=Model();//更新主键(member_id)为1的记录信息$data=array('member_name'=>'ShopNC',);$model->table('member')->update($data);//指定更新条件$data=array('member_name'=>'ShopNC',);$model->table('member')->where(array('member_id'=>1))->update($data);17.Distinct方法:可以去除列中相同的值,distinct只接受一个参数值true,如果不需要重复值筛

选,不使用该方法即可。

//查找拥有团购券$model=Model();$model->table('order_pwd')->field('order_id')->distinct(true)->select();天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692918天津市网城天创科技有限责任公司18.Clear方法:清空单个表中的内容,返回true/false,如:

//清空store表$model=Model();$model->table('store')->clear();19.Query/execute方法,两个方法均用于直接执行SQL语句,query方法用于查询,execute方

法用于更新、写入和删除操作,如:

Model()->query('SELECT*FROM`shopnc_member`LIMIT10');Model()->execute('UPDATE`shopnc_member`SETmember_name=’shopnc’WHEREmember_id=1');20.Sum/Avg/Max/Min方法:求和、求平均值、取最大值、取最小值,如:

$model=Model();//返回所有订单总价格之和$model->table('order')->sum('price');//订单的平均价格$model->table('order')->avg('price');//订单的最大金额$model->table('order')->max('price');//订单的最低金额$model->table('order')->min('price');21.自增/自减:系统使用setInc和setDec完成自增和自减,示例如下:

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692919天津市网城天创科技有限责任公司$model=Model();//使主键值为1的店铺点击量加1000$model->table('store')->where(array('store_id'=>1))->setInc('store_click',1000);//结合exp参数,使主键值为1的店铺点击量加1000$model=Model('store');$data=array('store_id'=>1,'store_click'=>array('exp','store_click-1000'));$model->update($data);//等同于:UPDATE`store`SETstore_click=store_click-1000WHERE(store_id='1')2.3.3CURD操作

2.3.3.1读取数据

系统中可使用select、find、query方法完成查询操作。使用select方法查询信息:

$model=Model('member');//查询会员表全部信息$model->select();//取得性别为1的会员列表信息,注意:select方法需要在连贯操作中的最后一步出现$model->where(array('gender'=>1))->select();天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692920天津市网城天创科技有限责任公司//查询主键ID为5的会员信息$model->select(5);使用find方法查询信息:

$model=Model('member');//查询ID为5的会员信息$model->where(array('member_id'=>5))->find();//或者$model->find(5);使用query方法取得查询信息:

Model()->query('SELECT*FROM`shopnc_member`LIMIT10');使用动态方法取得查询信息:

$model=Model('member');//使用getby_动态方法,取得member_name为kevin的会员信息$model->getby_member_name('kevin');//等同于SQL:SELECT*FROM`member`WHERE(member_name='kevin')LIMIT1//使用getfby_方法,取得member_id为6的会员名$a=$model->getfby_member_id(6,'member_name');//返回kevin//等同于SQL:SELECTmember_nameFROM`shopnc_member`WHERE(member_id='6')LIMIT1天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692921天津市网城天创科技有限责任公司2.3.3.2更新数据

系统可使用update、execute方法完成更新操作。

$model=Model();//指定更新条件$data=array('member_name'=>'ShopNC',);$model->table('member')->where(array('member_id'=>1))->update($data);//使用execute方法执行更新Model()->execute('UPDATE`shopnc_member`SETmember_name=’ShopNC’WHEREmember_id=1');2.3.3.3插入数据

系统可使用insert、insertAll、execute方法完成插入操作。使用insert方法插入单行数据:

//向member表插入数据,并返回最新生成的主键ID$model=Model('member');$data=array('member_name'=>'ShopNC',);$model->insert($data);天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692922天津市网城天创科技有限责任公司Insert方法支持延迟插入,加入$options参数,如:

$model->insert($data,false,array('priority'=>'DELAYED'));使用Insert方法执行replace操作,将第二个参数设置为true,如:

$model=Model();$data=array('member_name'=>'ShopNC',);$model->table('member')->insert($data,true);使用insertAll方法:实现批量插入数据:

$model=Model('member');$data=array(array('member_name'=>'ShopNC',),array('member_name=>'ShopNC_O2O',));$model->insertAll($data);也可以使用execute直接执行SQL语句来插入数据。

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692923天津市网城天创科技有限责任公司2.3.3.4删除数据

系统可使用delete、clear、execute方法完成删除操作。使用delete方法删除数据:

$model=Model('member');//删除主键为5的记录$model->delete(5);//或者$model->where(array('member_id'=>5))->delete();使用clear方法清空数据:

//清空link表$model=Model();$model->table('member')->clear();也可以使用execute直接执行SQL语句来删除数据。

2.3.4运算符

系统对常用运算符的使用进行了二次封装,使用方便、快捷。gt:大于(>)egt:大于等于(>=)lt:小于(<)elt:小于等于(<=)eq:等于(=)

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692924天津市网城天创科技有限责任公司neq:不等于(!=)notlike:NOTLIKElike:同sql中的LIKE

between:同sql中的BETWEEN[not]in:同sql中的[NOT]IN示例:

//为便于演示,这里将所有运算符的使用均罗列出来,以下代码不可直接运行$condition=array()//uid>5$condition['uid']=array('gt',5);//uid<5$condition['uid']=array('lt',5);//uid=5$condition['uid']=array('eq',5);//uid>=5$condition['uid']=array('egt',5);//uid<=5$condition['uid']=array('elt',5);//uid在3,5,19之间一个或多个$condition['uid']=array('in','3,5,19');//uid是3,5,19中的任何值天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692925天津市网城天创科技有限责任公司$condition['uid']=array('notin','3,5,19');//5<=uid<=19$condition['uid']=array('between','5,19');//group_namelike'a%'$condition['group_name']=array(array('like','a%'));//group_namelike'a%'orgroup_namelike'b%'$condition['group_name']=array(array('like','a%'),array('like','b%'),'or');//以上各条件默认均是\"AND\"关系,即每个条件都需要满足,如果想满足一个即可(\"OR\"关系),可增加以下条件$condition['_op']='or';//最后将以上条件传入where方法$list=Model(TABLE)->where($condition)->select();2.4视图

系统采用MCV模式,由视图类Tpl将变量抛到模板并进行输出,使用setDir设置模板目录,使用output方法抛出变量,使用showpage显示模板,抛出的变量会赋值到模板的$output数组中。

Tpl::setDir('home');//指定模板位于templates/default/home//向模板抛出变量Tpl::output('name','shopnc');Tpl::showpage('index');//显示模板/templates/default/home/index.phpecho$output['name'];//在模板中使用$output[$var]直接输出天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692926天津市网城天创科技有限责任公司2.5缓存

系统可以对数据进行多种形式缓存,包括文件方式、共享内存方式和数据库方式。目前已支持的缓存方式包括:file、apc、eAccelerator、memcache和xcache,开发者也可以开发更加适合自己的缓存。

系统由Cache缓存类进行缓存操作,由Cache::getInstance方法完成缓存类型实例化:

//取得memcache缓存实例$obj_cache=Cache::getInstance('memcache');//缓存赋值$obj_cache->set('uid',1000);//读取缓存$obj_cache->get('uid');//删除缓存$obj_cache->rm('uid');系统需要将部分常用表信息(如基本配置表、商品分类表、快递表、SEO表等)生成缓存,为了便于操作,系统对这些表的缓存处理封装到专有的cache模型中,使用Model('cache')->call(表名)即可得到符合缓存格式的表信息。

为了方便对缓存的操作,系统新增了H和F方法,H方法对缓存类操作再次进行封装。如取得系统cache/setting.php缓存信息:

H('setting');内部执行过程为:首先取得file缓存实例

$obj_cache=Cache::getInstance('file')判断操作类型(删除缓存?、缓存赋值?缓存读取?),然后执行

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692927天津市网城天创科技有限责任公司$obj_cache->get('setting');取得缓存内容,至此执行完毕。

使用H方法将setting表信息生成到文件缓存:

H('setting',true,'file');内部执行过程为:首先取得file类型缓存实例,

$obj_cache=Cache::getInstance('file')判断操作类型(删除缓存?、缓存赋值?缓存读取?),然后执行

$obj_cache->rm('setting');删除原有setting缓存,实例化cache模型并执行_setting方法来取得setting表中的内容,

$list=Model('cache')->call($key);使用set方法写入缓存

$obj_cache->set($key,$list,null,$expire);最后返回true,至此缓存生成成功。

F方法也可以操作缓存,但它与H方法不同,F只是一种快速度读、写文件缓存的方法,不可

用于内存缓存的操作,F方法不能直接将数据表内容生成缓存,只可将PHP中已经存的内容(如数组、字符串等)生成到文件缓存,在读取文件缓存时,推荐使用效率更高的F方法。

F('setting');//取得setting缓存//将$data数组生成到setting文件缓存F('setting',$data);天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692928天津市网城天创科技有限责任公司2.6安全

系统为保护目录及文件安全,在所有敏感的目录中放置一个1字节的index.html文件,内容为

一个空格,以避免当http服务器的DirectoryListing打开时,服务器文件被索引和列表。

为防止系统内文件被非法调用,系统会在所使用的.php文件头部增加有合法性验证:

defined('InShopNC')orexit('AccessInvalid!');3.函数与类库

3.1常量参考

[ProjectName]=>项目名称

[BUILDCORE]=>是否压缩框架(true/false)

[BasePath]=>系统所在基准目录(如/var/www/shopnc)[DS]=>目录分隔符/

[InShopNC]=>合法调用判断标志1

[StartTime]=>系统开始运行时间(如1350096132.6587)[TIMESTAMP]=>系统当前时间(如1350096132)[SiteUrl]=>商城URL地址(http://www.shopnc.net)[CHARSET]=>系统编码(UTF-8/GBK)

[DBDRIVER]=>数据库访问驱动(mysqli、mysql、pdo_mysql、oci8)[SESSION_EXPIRE]=>缓存周期,单位(秒)

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692929天津市网城天创科技有限责任公司[LANG_TYPE]=>语言包,默认简体中文zh_cn[COOKIE_PRE]=>cookie前缀,系统自动生成

[CORE_PATH]=>框架所在目录(如/var/www/shopnc/core/framework)[TPL_NAME]=>模板风格,默认default

[BASE_TPL_PATH]=>模板文件目录(如/var/www/shopnc/shop/templates/default)[DBPRE]=>数据库表前缀默认shopnc_[ATTACH_PATH]=>附件目录,默认shop

[ATTACH_COMMON_PATH]=>通用附件目录默认shop/common[ATTACH_MEMBER_PATH]

=>会员头像默认shop/member

[ATTACH_COMMENT_PATH]=>评论图片默认shop/comment[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

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692930天津市网城天创科技有限责任公司[ATTACH_ARTICLE_PATH]=>文章图片默认shop/article[ATTACH_GIFT_PATH]=>礼品默认shop/gift

3.2主要函数参考系统函数

3.2.1

cookie方法

作用:自动加上系统cookie前缀并返回cookie值语法:stringcookie($name='')

参数:$name需要得到的cookie名称(不含前缀)示例:

cookie('uid');encrypt方法

作用:加密字符串并返回加密结果语法:stringencrypt($txt,$key='')参数:$txt待加密的字符串

$key密钥

示例:

encrypt('password','cb8d4e597fc751a56dc30258c4db1226');//输出KHEZ1IzRZpLV9Bgdecrypt方法

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692931天津市网城天创科技有限责任公司作用:解密字符串

语法:stringdecrypt($txt,$key='')参数:

$txt待解密的字符串$key密钥

示例:

decrypt('KHEZ1IzRZpLV9Bg','cb8d4e597fc751a56dc30258c4db1226');//输出passwordgetIp方法作用:取得IP地址语法:getIp()getReferer方法

作用:取得上一步来源地址语法:stringgetReferer()Model方法作用:实例化模型

语法:objectModel($model=null)

参数:$model待实例的模型,$model也可以为空,这样会实例化一个空模型示例:

$model=Model();//或$model=Model('member');redirect方法

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692932天津市网城天创科技有限责任公司作用:页面重定向语法:redirect($url='')

参数:$url需要重定向的地址,若为空,系统定向到上一页地址示例:

redirect('http://www.shopnc.net')readDirList方法

作用:读取同目录下的文件夹并返回数组语法:arrayreadDirList($path)参数:$path需要读取的目录示例:

readDirList('/var/www/shopnc');//输出Array([0]=>admin[1]=>api[2]=>circle[3]=>core[4]=>data[5]=>install[6]=>shop天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692933天津市网城天创科技有限责任公司)replaceSpecialChar方法

作用:转换特殊字符,将里面的\\r\\n,\,\\n去除语法:stringreplaceSpecialChar($string)参数:$string需要转换的字符setNcCookie方法作用:保存cookie

语法:setNcCookie($name,$value,$expire='3600',$path='',$domain='',$secure=false)参数:

$namecookie名称$valuecookie值

$expirecookie有效期,单位秒,默认3600$pathcookie的服务器路径默认为/$domaincookie的域名

$secure是否通过安全的HTTPS连接来传输cookie,默认为false

示例:

setNcCookie('uid',1000,2*3600);//保存2小时setNcCookie('uid','',time()-3600);//过期showMessage方法作用:输出提示信息语法:

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692934天津市网城天创科技有限责任公司showMessage($msg,$url='',$show_type='html',$msg_type='succ',$is_show=1,$time=2000)

参数:

$msg待输出的信息

$url跳转地址当$url为数组时,结构为array('msg'=>'跳转连接文字','url'=>'跳转连接')$show_type输出格式默认为html

$msg_type信息类型succ为成功,error为失败/错误$is_show是否显示跳转链接,默认是为1,显示$time跳转时间,默认为2秒示例:

showMessage('保存成功');showMessage('保存失败','index.php?act=store','html','error');showDialog方法

作用:消息提示,只适用于页面AJAX提交的情况

语法:showDialog($message='',$url='',$alert_type='error',$extrajs='',$time=2)参数:

$message消息内容$url提示完后的URL去向

$alert_type提示类型error/succ/notice分别为错误/成功/警示$extrajs扩展JS脚本

$time消息停留时间,默认为2秒

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692935天津市网城天创科技有限责任公司示例:

showDialog('保存成功','index.php?act=store');setTimeZone方法作用:设置时区

语法:showDialog($message='',$url='',$alert_type='error',$extrajs='',$time=2)参数:示例:

setTimeZone(8);//设置东8区$time_zone时区键值

showEditor方法作用:输出编辑器语法:

showEditor($id,$value='',$width='700px',$height='300px',$style='visibility:hidden;',$upload_state=\"true\$media_open=false)参数:

$id编辑器id名称,与name同名$value编辑器内容$width宽带单位px$height高带单位px$style样式内容

$upload_state上传状态,默认开启示例:

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692936天津市网城天创科技有限责任公司showEditor('content','这是内容','600px','400px','visibility:hidden;','false','false');getDirSize方法作用:获取目录大小

语法:numericgetDirSize($path,$size=0)参数:

$path目录$size目录大小示例:

$size=getDirSize('d:/root/ssi')/1024;echonumber_format($size,2).'KB';//输出24.02KBdelCacheFile方法

作用:删除缓存目录下的文件或子目录文件,但不会删除默认的index.html文件语法:booldelCacheFile($dir)参数:

$dir目录名或文件名示例:

//删除cache/fields目录除index.html外的文件delCacheFile('fields');readFileList方法

作用:获取文件列表(所有子目录文件)

语法:arrayreadFileList($path,&$file_list,$ignore_dir=array())

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692937天津市网城天创科技有限责任公司参数:

$path目录

$file_list存放所有子文件的数组$ignore_dir需要忽略的目录或文件ncPriceFormat方法

作用:价格格式化,返回两位小数位数的价格语法:stringncPriceFormat($price)参数:

$price待处理的价格示例:

echoncPriceFormat(100.256);//输出100.26echoncPriceFormat(100.2);//输出100.20ncUrl方法作用:组成url地址

语法:stringncUrl($param=array(),$type='',$domain='')参数:$param参数

$typeurl类型$domain二级域名

ncDomainUrl方法

作用:获取二级域名url地址

语法:ncDomainUrl($type,$domain_url,$domain)

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692938天津市网城天创科技有限责任公司参数:$typeurl类型$domain_url原始地址$domain二级域名

subdomain方法作用:二级域名解析语法:intsubdomain()ncReplaceText方法

作用:通知邮件/通知消息内容转换函数

语法:stringncReplaceText($message,$param)参数:

$message内容模板$param内容参数数组

str_cut方法

作用:字符串切割函数,一个字母算一个位置,一个字算2个位置语法:str_cut($string,$length,$dot='')参数:

$string待切割的字符串$length切割长度$dot尾缀

request_uri方法

作用:重写$_SERVER['REQUREST_URI']方法

get_image_type方法

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692939天津市网城天创科技有限责任公司作用:获取图片类型

语法:stringget_image_type($str)C方法

作用:取得系统配置信息语法:C($key)参数:示例:

C('site_url')取得$config['site_url']值

C('cache.type')取得$config['cache']['type']值defaultGoodsImage方法作用:取得商品默认大小图片语法:defaultGoodsImage($key)参数:

$key

图片大小small/tiny

string$key取得下标值

import方法

作用:加载文件,只适用于加载框架内类库文件,如果文件名中包含\"_\"使用\"#\"代替,默认加载libraties目录内的类库

语法:import($libname,$file_ext='.php')参数:

$libname要加载的文件$file_ext文件扩展名

示例:

import('cache');天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692940天津市网城天创科技有限责任公司//相当于require_once(BasePath.'/framework/libraries/cache.php');import('libraries.cache');//相当于require_once(BasePath.'/framework/libraries/cache.php');import('function.core');//相当于require_once(BasePath.'/framework/function/core.php');random方法作用:取得随机数

语法:random($length,$numeric=0)参数:

$length生成随机数的长度

$numeric是否只产生数字随机数1是0否

template方法

作用:返回模板文件所在完整目录语法:template($tplpath,$project='')参数:

$tplpath模板文件名(不含扩展名)$project项目名称

chksubmit方法

作用:检测FORM表单是否是合法提交语法:chksubmit()check_repeat方法作用:检测重复提交

语法:booleancheck_repeat($key,$ttl=30)

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692941天津市网城天创科技有限责任公司参数:$key检测名称$ttl提交间隔时间(秒)

log_times方法作用:记录操作次数

语法:intlog_times($key,$op='cookie',$expire='')参数:

$key记录操作的名称

$op数据存储类型,目前只支持cookie

lazypage方法

作用:延时加载分页功能,判断是否有更多连接和limitstart值和经过验证修改的$delay_eachnum值

语法:arraylazypage($delay_eachnum,$delay_page,

$count,$ispage=false,$page_nowpage=1,$page_eachnum=1,$page_limitstart=1)参数:

$delay_eachnum延时分页每页显示的条数$delay_page延时分页当前页数$count总记录数

$ispage是否在分页模式中实现延时分页(前台显示的两种不同效果)$page_nowpage分页当前页数$page_eachnum分页每页显示条数$page_limitstart分页初始limit值

F方法

作用:文件数据读取和保存字符串、数组

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692942天津市网城天创科技有限责任公司语法:F($name,$value='',$path='cache',$ext='.php')参数:

$name文件名称(不含扩展名)$value待写入文件的内容$path写入cache的目录$ext文件扩展名示例:

F('setting');//取得setting缓存//将$data数组生成到setting文件缓存F('setting',$data);write_file方法作用:写入文件操作

语法:booleanwrite_file($filepath,$data,$mode=null)参数:

$filepath待写入内容的文件路径$data待写入的内容

$mode写入模式,如果是追加,可传入“append”

mk_dir方法作用:循环创建目录

语法:booleanmk_dir($dir,$mode='0777')参数:

$dir待创建的目录$mode权限

pagecmd方法

作用:封装分页操作的函数,方便调用

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692943天津市网城天创科技有限责任公司语法:pagecmd($cmd='',$arg='')参数:

$cmd命令类型$arg参数

$cmd命令类型允许的值如下:seteachnum设置每页数量settotalnum设置记录总数setstyle设置分页样式show返回分页链接obj返回分页对象本身gettotalnum取得记录总数gettotalpage取得总页数throw_exception方法作用:抛出异常

语法:throw_exception($error)参数:halt方法

作用:输出错误信息语法:halt($error)参数:

$error错误信息$error异常信息

compress_code方法

作用:去除代码中的空白和注释

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692944天津市网城天创科技有限责任公司语法:compress_code($content)参数:$content待压缩的内容H方法

作用:读/写缓存方法

语法:H($key,$value='',$cache_type='',$expire=null,$args=null)参数:

$key缓存名称$value缓存内容$type

缓存类型,允许值为file,memcache,xcache,apc,eaccelerator,可以为空,

默认为file缓存

$expire缓存周期$args扩展参数

示例:

H('setting');//取得缓存H('setting',true);//生成setting缓存并返回缓存结果H('setting',null);//清空setting缓存H('setting',true,'file');//生成setting文件缓存H('setting',true,'memcache');//生成setting缓存到memcacherec方法

作用:调用推荐位

语法:stringrec($rec_id=null)参数:$rec_id推荐位ID

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692945天津市网城天创科技有限责任公司L方法

作用:快速调用语言包语法:stringL($key='')参数:$rec_id推荐位ID

3.2.2验证码函数

makeSeccode方法作用:产生验证码

语法:stringmakeSeccode($nchash)参数:$nchash哈希数checkSeccode方法作用:验证验证码

语法:booleancheckSeccode($nchash,$value)参数:

$nchash哈希数$value待验证值

3.3主要类库参考Model类

3.3.1

tableInfo方法作用:生成表结构信息

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692946天津市网城天创科技有限责任公司语法:tableInfo($table)

参数:string$table待生成的表名table方法作用:设置表名

语法:objecttable($table)参数:string$table待设置的表名order方法

作用:设置排序规则语法:objectorder($order)参数:string$order待排序内容where方法作用:设置sql条件

语法:objectwhere($condition)

参数:string/array$condition待执行的条件

示例:where(array('member_id'=>5))或where('member_id=5')on方法

作用:设置关联表语法:objecton($string)

参数:string$string待执行的条件

示例:on('store.member_id=member.member_id')join方法

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692947天津市网城天创科技有限责任公司作用:设置关联表,一般与on方法一起使用语法:objectjoin($string)参数:string$string关联类型示例:join('inner')

limit方法

作用:设置limit规则语法:objectlimit($string)参数:string$string待排序内容示例:limit(3),limit('3,6')group方法

作用:设置groupby规则语法:objectlimit($field)参数:string$field待分组字段示例:group('store_id')having方法

作用:设置having规则

语法:objecthaving($condition)参数:string$condition待筛选条件示例:having('nc_count>3')distinct方法

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692948天津市网城天创科技有限责任公司作用:设置distinct,去重复数据语法:objectdistinct()参数:booleantrue/falsepage方法

作用:设置每页显示数量语法:objectpage($pagesize)参数:integer$pagesizemin方法作用:取最小值

语法:integermin($field)参数:string$field字段名

示例:$model->table('member')->min('member_id')max方法

作用:取最大值,用法同mincount方法作用:取得记录总数语法:integercount()

示例:$model->where('member_id>23')->count();sum方法作用:取字段总和

语法:integersum($field)

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692949天津市网城天创科技有限责任公司参数:string$field字段名

示例:$model->table('order')->sum('price')avg方法作用:取平均值

语法:integeravg($field)参数:string$field字段名

示例:$model->table('order')->avg('price')select方法:执行查询,详见3.3模型find方法:查询一条信息,详见3.3模型delete方法:执行删除,详见3.3模型update方法:执行更新,详见3.3模型insert方法:插入数据,详见3.3模型inserAll方法:批量插入,详见3.3模型

execute方法:执行sql,主要为增、删、改操作,详见3.3模型query方法:执行sql,主要为查询操作,详见3.3模型clear方法作用:清空表内容语法:clear()

示例:$model->table('member')->clear()getLastID方法作用:取得最新插入ID

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692950天津市网城天创科技有限责任公司getFields方法

作用:取得当前操作表结构信息setInc方法作用:自增操作

语法:setInc($field,$num)参数:string$field字段名Int$num增加数值

示例:$model->where(array('member_id'=>1))->setInc('predeposit',3)setDec方法作用:自增操作

语法:setDec($field,$num)参数:string$field字段名

Int$num增加数值

示例:$model->where(array('member_id'=>2))->setDec('predeposit',3)cls方法

作用:清空模型对象中的表名、where条件、排序等参数语法:objectcls()示例:$model->cls()showpage方法作用:显示分页链接

语法:stringshowpage($style)

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692951天津市网城天创科技有限责任公司参数:string$style分页样式,可选值为1,2(默认),3示例:$model->showpage();

3.3.2ModelDb类

select():查询操作

buildSelectSql():拼成select语句

parseValue():格式化待保存到数据表的数据parseTable():处理表名parseWhere():组合where条件parseWhereItem():分析where条件parseLimit():处理limit条件parseJoin():处理join条件delete():组合成delete语句update():组合成update语句

parsePriority():设置SQL执行时,延时、缓存等高级操作clear():清空表insert():插入操作

getLastId():取得最后生成的主键IDinsertAll():批量插入数据

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692952天津市网城天创科技有限责任公司3.3.3Tpl类

getInstance():实例化类setDir():设置模板目录setLayout():设置布局output():抛出变量showpage():显示模板showTrace():显示trace信息Tpl类使用示例:

//设置模板文件夹路径Tpl::setDir('home');//设置布局文件Tpl::setLayout('home_layout');//显示模板Tpl::showpage('index');3.3.4Language类

getGBK():得到数组变量的GBK编码getUTF8():得到数组变量的UTF-8编码get():取指定下标的数组内容set():设置指定下标的数组内容

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692953天津市网城天创科技有限责任公司read():通过语言包文件设置语言内容getLangContent():取语言包全部内容appendLanguage():向语言包追加内容Language类使用示例:

//读取语言包文件Language::read('home_index');//取得单个语言包Language::get('pc_title')//语言包转码if(strtoupper(CHARSET)=='GBK'){$array=Language::getGBK($array);}3.3.5Page类

get():取得属性set():设置属性

setPageName():设置url页码参数名setNowPage():设置当前页码setEachNum():设置每页数量setStyle():设置输出样式

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692954天津市网城天创科技有限责任公司setTotalNum():设置信息总数getNowPage():取当前页码getTotalPage():取页码总数getTotalNum():取信息总数getEachNum():取每页信息数量getLimitStart():取数据库select开始值getLimitEnd():取数据库select结束值setTotalPage():设置页码总数show():输出页码链接

3.3.6Security类

getToken():取得令牌内容checkToken():判断令牌是否正确fliterXss():xss过滤

fliterHtmlSpecialChars():将字符&\"<>替换getAddslashesForInput():参数过滤

3.3.7UploadFile类

set():设置属性get():读取属性upfile():上传操作

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692955天津市网城天创科技有限责任公司fileInputError():获取上传文件的错误信息setPath():设置存储路径

setFileName():设置文件名称不包括文件路径setError():设置错误信息

getSysSetPath():根据系统设置返回商品图片保存路径UploadFile类使用示例:

//创建上传类$upload=newUploadFile();//删除原图$upload->set('ifremove',true);//设置上传目录$upload->set('default_dir','upload/'.$upload->getSysSetPath());//文件最大允许1M$upload->set('max_size',1024*1024);//生成两张缩略图,宽高分别为30,300$upload->set('thumb_width','30,300');$upload->set('thumb_height','30,300');//两个缩略图名称后面分别追加\"_tiny\$upload->set('thumb_ext',//开始上传$result=$upload->upfile($v);天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692956'_tiny,_mid');天津市网城天创科技有限责任公司if($result){//得到图片上传后的路径$img_path}=$upload->getSysSetPath().$upload->file_name;3.3.8Validate类

Validate():验证数组中的值Check():正则表达式运算setValidate():需要验证的内容getError():得到验证的错误信息Validate类使用示例:

//创建验证类$obj_validate=newValidate();$obj_validate->validateparam=array(array(\"input\"=>$_POST[\"member_name\"],\"require\"=>\"true\",\"message\"=>'用户名不能为空'),array(\"input\"=>$_POST[\"password\"],\"require\"=>\"true\",\"message\"=>'密码不能为空'),array(\"input\"=>$_POST[\"email\"],正确填入Email'),);$error=$obj_validate->validate();\"require\"=>\"true\",\"validator\"=>\"email\",\"message\"=>'请天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692957天津市网城天创科技有限责任公司if($error!=''){//输出错误信息showDialog($error);}3.3.9ResizeImage类

newImg():构造函数initi_img():初始化图象dst_img():图象目标地址

3.3.10Cache类

connect():实例化缓存驱动getInstance():取得实例set():保存缓存get():读取缓存rm():删除缓存inc():递增操作dec():递减操作Cache类使用示例:

//创建缓存对象(这里以memcache为例)天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692958天津市网城天创科技有限责任公司$obj_cache=Cache::getInstance('memcache');//写入缓存,缓存周期为1小时$obj_cache->set('uid_100','这里是缓存内容',null,3600);//读取缓存内容$value=$obj_cache->get('uid_100');//删除缓存内容$obj_cache->rm('uid_100');//清空所有缓存内容$obj_cache->clear();//写入100$obj_cache->set('uid_100',100,null,3600);//增加50$obj_cache->inc('uid_100',50);echo$obj_cache->get('uid_100');//输出150//减少50$obj_cache->dec('uid_100',50);echo$obj_cache->get('uid_100');//输出100天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692959天津市网城天创科技有限责任公司4.版权修改

1.首页版权修改

在文件shop/templates/default/layout/footer.php

展示效果:

2.商户登录

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692960天津市网城天创科技有限责任公司在文件shop/templates/default/member/slogin.php展示效果:

5.结语

感谢选择ShopNC,可以登录ShopNC官网http://www.shopnc.net下载最新的ShopNC本地生活程序,官方论坛http://bbs.shopnc.net可以帮助大家答疑解惑,查看ShopNC使用帮助手册可登录http://doc.shopnc.net。

天津市网城天创科技有限责任公司网址:www.shopnc.net电话:400-880-1509商务洽谈:86-022-5830692961

因篇幅问题不能全部显示,请点此查看更多更全内容

Top