版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、键入公司名称Thinkphp实用文件呵呵:郭嘉2015/7/28目录循环结构,在循环输出中变量不用加$符号3thinkphp连贯操作3thinkphp中怎么使用phpmailer发送邮件4thinkphp如何来判断访客为手机端或是PC端6thinkphp的URL路由规则与配置8D就是实例化一个基于Model文件的Model。10ThinkPHP 数据缓存10ThinkPHP 数据缓存12 *万恶的分割线*循环结构,在循环输出中变量不用加$符号实例1.for(table border=1 width=500) (for start=0 end=10 name=j step=-2 comparis
2、on=gt)/lt正序step是步调值加2 / gt倒序输出step是步调值减2 (tr)(td)$j(/td)(td)abc(/td)(/tr) (/for) (/table) 实例2.volist(volist name=list id=v)/循环多维数组,v代表当前数组 $v.username(br/) (/volist) 实例3.foreach(foreach name=list item=v key=k) $k-$v(br/) (/foreach)*万恶的分割线*thinkphp连贯操作发布日期:2014年06月12日 来源:PHP1.CN 点击:369摘要:一,常用连贯操作,可以接
3、连使用但没前后顺序之分,后面一定要有方法select,updata,delete,find1.where:帮助我们设置查询条件2.order:对结果进.一,常用连贯操作,可以接连使用但没前后顺序之分,后面一定要有方法select,updata,delete,find1.where:帮助我们设置查询条件2.order:对结果进行排序$arr=$m-order(id desc)-select();/字符串方法,默认是asc升序排列,加desc改为降序排列 $arr=$m-order(array(id=desc,sex=asc)-select(); /数组方法 3.limit:限制结果limit(2
4、,5)/从第2条取出5条 limit(2,5)/字条串形式参数 limit(10)/等同于limit(0,10)默认是从0开始 4.field:设置查询字段field(username as name,id) /传字符,修改字段名 field(array(username=name,id)/传数组查询,修改字段名 field(id,true) /获取除了id以外的所有字段 5.table:表格6.group:分组7.having:与分组有关二,补充alias 用于给当前数据表定义别名 字符串page 用于查询分页(内部会转换成limit) 字符串和数字join* 用于对查询的join支持 字符
5、串和数组union* 用于对查询的union支持 字符串、数组和对象distinct 用于查询的distinct支持 布尔值lock 用于数据库的锁机制 布尔值cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)relation 用于关联查询(需要关联模型扩展支持)字符串validate 用于数据自动验证 数组auto 用于数据自动完成 数组filter 用于数据过滤 字符串scope* 用于命名范围 字符串、数组*万恶的分割线*thinkphp中怎么使用phpmailer发送邮件发布日期:2014年06月12日 来源:PHP1.CN 点击:462摘要:phpmailer发送邮件
6、是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考。phpmail.phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考。phpmailer发送邮件功能很强大,今天真正的体验一下,简单说一下配置,本人是在thinkphp中是用的.配置步骤:1.后台配置发送邮件类,位置admin/common/common.php中,代码如下:function sendmail($tomail,$title,$content) /*邮件设
7、置信息*/ $email_set = C(EMAIL_SET); Vendor(phpmailer.class#phpmailer); Vendor(phpmailer.class#smtp); /可选,否则会在class.phpmailer.php中包含 $mail = new PHPMailer(true); /实例化PHPMailer类,true表示出现错误时抛出异常 $mail-IsSMTP(); / 使用SMTP $mail-CharSet =UTF-8;/设定邮件编码 $mail-Host = $email_setHost; / SMTP server $mail-SMTPDebu
8、g = 1; / 启用SMTP调试 1 = errors 2 = messages $mail-SMTPAuth = true; / 服务器需要验证 $mail-Port = $email_setport; / 设置端口 / $mail-SMTPSecure = ssl; /* $mail-SMTPSecure = ssl; $mail-Host = ; $mail-Port = 465; */ $mail-Username = $email_setemail_user; /SMTP服务器的用户帐号 $mail-Password = $email_setemail_pwd; /SMTP服务器的
9、用户密码 $mail-AddReplyTo($email_setemail,$email_setemail_name); /收件人回复时回复到此邮箱,可以多次执行该方法 if (is_array($tomail) foreach ($tomail as $m) $mail-AddAddress($m, user); else $mail-AddAddress($tomail, user); $mail-SetFrom($email_setemail,$email_setemail_name); / $mail-AddAttachment(./img/phpmailer.gif); / 添加附件
10、,如果有多个附件则重复执行该方法 $mail-Subject = $title; /以下是邮件内容相关 $mail-Body = $content; $mail-IsHTML(true); /$body = file_get_contents(tpl.html); /获取html网页内容 / $mail-MsgHTML(eregi_replace(,$body); return $mail-Send()? true:false; 2:配置文件中配置参数,代码如下:/*邮件设置*/ EMAIL_SET=array( Host= , Port=25, email_user=liuying, ema
11、il_pwd=123456, email=liuying, email_name=86市场网, ) 3.测试发送代码,代码如下:sendmail(11234,您好,我是内容);*万恶的分割线*thinkphp如何来判断访客为手机端或是PC端发布日期:2014年06月12日 来源:PHP1.CN 点击:360摘要:近日准备给自己的网站做一个小升级,让用户在手机二维码扫描的时候显示适合手机端来展示的模版【我用的是ThinkPHP3.0】,代码是参考别人的,我先说下大概的一个思路简单两步:统版本号.近日准备给自己的网站做一个小升级,让用户在手机二维码扫描的时候显示适合手机端来展示的模版【我用的是Th
12、inkPHP3.0】,代码是参考别人的我先说下大概的一个思路 简单两步:统版本号和浏览器以及它的版本号(贴出的代码中数组中只有移动端信息,因此后面只需判断是否为数组中的某一个值即可).根据数组中的值来判断访客是否为手机、pad、之类的移动端,如果是的话就规定项目路径、名称为你的手机端模版如 define(APP_NAME,mobi);define(APP_PATH,./mobi/);下面代码的话我尽量加上注释:/判断是否属手机 /代码看上去很多,其实就是数组里面显得多而乱,不要被表面现象所吓倒哦! function is_mobile() $user_agent = $_SERVERHTTP_
13、USER_AGENT; $mobile_agents = Array(240x320,acer,acoon,acs-,abacho,ahong,airness,alcatel,amoi,android,applewebkit/525,applewebkit/532,asus,audio,au-mic,avantogo,becker,benq,bilbo,bird,blackberry,blazer,bleu,cdm-,compal,coolpad,danger,dbtel,dopod,elaine,eric,etouch,fly ,fly_,fly-,go.web,goodaccess,gra
14、diente,grundig,haier,hedy,hitachi,htc,huawei,hutchison,inno,ipad,ipaq,ipod,jbrowser,kddi,kgt,kwc,lenovo,lg ,lg2,lg3,lg4,lg5,lg7,lg8,lg9,lg-,lge-,lge9,longcos,maemo,mercator,meridian,micromax,midp,mini,mitsu,mmm,mmp,mobi,mot-,moto,nec-,netfront,newgen,nexian,nf-browser,nintendo,nitro,nokia,nook,novar
15、ra,obigo,palm,panasonic,pantech,philips,phone,pg-,playstation,pocket,pt-,qc-,qtek,rover,sagem,sama,samu,sanyo,samsung,sch-,scooter,sec-,sendo,sgh-,sharp,siemens,sie-,softbank,sony,spice,sprint,spv,symbian,tablet,talkabout,tcl-,teleca,telit,tianyu,tim-,toshiba,tsm,up.browser,utec,utstar,verykool,virg
16、in,vk-,voda,voxtel,vx,wap,wellco,wig browser,wii,windows ce,wireless,xda,xde,zte); $is_mobile = false; foreach ($mobile_agents as $device) /这里把值遍历一遍,用于查找是否有上述字符串出现过 if (stristr($user_agent, $device) /stristr 查找访客端信息是否在上述数组中,不存在即为PC端。 $is_mobile = true; break; return $is_mobile; define(THINK_PATH,./C
17、ORE/); if(is_mobile() /跳转至wap分组 echo 您是手机端访问的,已跳转到手机端; define(APP_NAME,mobi); define(APP_PATH,./mobi/); else echo 你是PC端访问的; define(APP_NAME,Home); define(APP_PATH,./Home/); define(APP_DEBUG, false); require THINK_PATH.core.php; *万恶的分割线*thinkphp的URL路由规则与配置一、URL规则1、默认是区分大小写的2、如果我们不想区分大小写可以改配置文件URL_CAS
18、E_INSENSITIVE=true,/url不区分大小写 3、如果模块名为 UserGroupAction,那么url找模块就必要要写成http:/localhost/thinkphp4/index.php/user_group/index4、如果URL_CASE_INSENSITIVE=false,那么url也可以写为http:/localhost/thinkphp4/index.php/UserGroup/index二、URL伪静态URL_HTML_SUFFIX=html|shtml|xml,/限制伪静态的后缀三、URL路由1、启动路由要在配置文件中开启路由支持URL_ROUTER_ON
19、=ture/开启路由2、使用路由1.规则表达式配置路由1. URL_ROUTE_RULES=array()/路由规则2. my=Index/index,/静态地址路由3. my=/Index/index,/静态地址路由,加/直接跳到网站根目录下。4. :id/:num=Index/index,/动态地址路由,可以$_GET接收地址栏参数5. year/:year/:month/:date=Index/index,/动态和静态混合地址路由6. year/:yeard/:monthd/:dated=Index/index,/动态和静态混合地址路由7. 加上d代表类型只能是数字8. my/:id$=
20、Index/index,/加上$说明地址中只能是my/1000后面不能有其他内容了2.正则表达式配置路由,必须以/开始 /结束/year/(d4)/(d2)/(d2)/=Index/index?year=:1&month=:2&date=:3/这里d表示必须是数字,3、注意事项:1.越复杂的路由越往前面放 URL_ROUTE_RULES=array(1. my/:year/:month:/:day=Index/day,2. my/:idd=Index/index,3. my/:name=Index/index,4. )2.可以使用$作为完全匹配的路由规则1. URL_ROUTE_RULES=a
21、rray(2. my/:idd$=Index/index,3. my/:name$=Index/index,4. my/:year/:month:/:day$=Index/day,5. ),3.用正则匹配的方式,以/开始,以$/结束1. URL_ROUTE_RULES=array(2. /my/(d+)$/=Index/index?id=:1,3. /my/(w+)$/=Index/index?name=:1,4. /my/(d4)/(d2)/(d2)$/=Index/day?year=:1&month=:2&day=:3,5. ),*万恶的分割线*D就是实例化一个基于Model文件的Mode
22、l。M则是通过直接实例化Model方法(ThinkPHP基类)来动态的实例化一个Model对象,即使这个对应的Model文件不存在.再通俗一点说:M实例化参数是数据库的表名。D实例化的是你自己在Model文件夹下面建立的模型文件.D就是在你没有定义模型的时候,系统自动帮你定义一个模型,这样你才进行简单的数据输入或者输出.每一个Action文件都应该对应Model文件的,如果你定义了Model的话.如:$Form = D(“User”)就可以改成$Form = new UserModel();(User是指你的模型文件名).*万恶的分割线*ThinkPHP 数据缓存 发布日期:2014年06月1
23、2日 来源:PHP1.CN 点击:300摘要:ThinkPHP的数据缓存功能应该是一个非常大的特色,期间也经历了不少完善,主要由Cache类来完成,并且以工厂模式支持了很多的缓存方式,目前支持的有:File文件方式,Db数据库方式,Shmop共享内存方式.ThinkPHP的数据缓存功能应该是一个非常大的特色,期间也经历了不少完善,主要由Cache类来完成,并且以工厂模式支持了很多的缓存方式,目前支持的有:File 文件方式Db 数据库方式Shmop 共享内存方式Eaccelerator Eaccelerator (Turck MMcache fork)Memcache MemchedApc A
24、PCApachenote Apache noteSqlite SQLiteXcache对于用户来说,并不需要了解具体某种缓存方式实现的细节,而是统一通过公共的接口方法来实现缓存写入和读取,包括有效期设置,缓存的使用范围可以用在框架的各个层次,包括数据库查询缓存、数据对象缓存、应用自定义缓存等,使用缓存类的方式如下:1. Import(Think.Util.Cache);2. /取得缓存实例其中type参数表示上面列出的缓存类型默认为File类型3. $cache=Cache:getInstance($type);4. /写入缓存5. $cache-set($name,$value,$expir
25、e);6. /读取缓存7. $cache-get($name);8. /删除缓存9. $cache-rm($name);10. /清空缓存11. $cache-clear($name);通常来说缓存会自动管理,过期的会自动清除,所以不需要手动来清除,在0.9.8版本以后,还增加了更加方便缓存操作的S方法,例如,上面的操作可以简化为:1. /写入缓存数据2. S($name,$value,$expire);3. /读取缓存数据4. S($name);5. /删除缓存6. S($name,NULL);7. /另外还可以指定其它的缓存方式操作8. S($name,$value,$expire,$ty
26、pe)ThinkPHP支持自动数据对象缓存,该功能无需启用动态数据缓存就可以使用了,事实上,ThinkPHP的核心Action类的预定义操作方法中大量使用了数据对象自动缓存功能,第一次读取某个Vo对象会自动生成缓存,重复刷新页面或者其他用户读取该数据对象的时候无需再次访问数据库,而当某个用户对该数据对象进行了修改,系统会自动删除缓存数据对象,以便下次自动重新生成缓存,自动缓存仅仅适用于数据对象,对于数据列表对象无法完成自动缓存的更新功能.框架还支持对缓存读写次数的统计功能*万恶的分割线*ThinkPHP 数据缓存发布日期:2014年06月12日 来源:PHP1.CN 点击:302摘要:ThinkPHP的数据缓存功能应该是一个非常大的特色,期间也经历了不少完善,主要由Cache类来完成,并且以工厂模式支持了很多的缓存方式,目前支持的有:File文件方式,Db数据库方式,Shmop共享内存方式.ThinkPHP的数据缓存功能应该是一个非常大的特色,期间也经历了不少完善,主要由Cache类来完成,并且以工厂模式支持了很多的缓存方式,目前支持的有:File 文件方式Db 数据库方式Shmop 共享内存方式Eaccelerator Ea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国手推式移动电站数据监测研究报告
- 2024至2030年中国彩色涂层钢卷行业投资前景及策略咨询研究报告
- 2024至2030年中国庭木户行业投资前景及策略咨询研究报告
- 盆景学知识如何做好一盆盆景
- 2024至2030年中国卸瓶台数据监测研究报告
- 2024至2030年中国冶金控制系统行业投资前景及策略咨询研究报告
- 2024至2030年中国交流耐电压测试仪数据监测研究报告
- 2024年山东省(枣庄、菏泽、临沂、聊城)中考语文试题含解析
- 2024年中国颗粒白土市场调查研究报告
- 2024年中国胶印水性光油市场调查研究报告
- 《超市水果陈列标准》
- 2023年02月江西省九江市八里湖新区公开招考50名城市社区工作者(专职网格员)参考题库+答案详解
- 施美美的《绘画之道》与摩尔诗歌新突破
- 七度空间消费者研究总报告(Y-1012)
- 医学英语翻译题汇总
- 外研上册(一起)六年级知识汇总
- 解析人体的奥秘智慧树知到答案章节测试2023年浙江中医药大学
- 湘西名人-贺龙综述
- 剑桥国际少儿英语Level 3 1 Family matters 课件(共16张PPT)
- S7200西门子手册资料
- 《2019版预防和治疗压力性损伤快速参考指南》简要分享
评论
0/150
提交评论