总结ThinkPHP使用技巧经验分享2

时间:2024.4.20

总结ThinkPHP使用技巧经验分享(二) 2013/02/26 10:43 thinkphphj 评论

上一篇 返回 下一篇

继续分享:

循环输出

volist还有别名 iterate

模版赋值:

$User = D('User')

$list = $User->findAll()

$this->assign('list',$list)

模版定义:

<iterate name="list" id="vo">

{$vo.name}

</iterate>

注意 name 和 id 表示的含义

// 输出 list 的第 5~15 条记录

<iterate name="list" id="vo" offset="5" length='10'> {$vo.name}

</iterate>

// 输出偶数记录

<iterate name="list" id="vo" mod="2" >

<eq name="mod" value="1">

{$vo.name}

</eq>

</iterate>

// 输出 key

<iterate name="list" id="vo" key="k" >

{$k}.{$vo.name}

</iterate>

//子循环输出

<volist name="list" id="vo">

<iterate name="vo['sub']" id="sub">

{$sub.name}

</iterate>

</volist>

Switch 标签

<switch name="name">

<case value="1">value1</case>

<case value="2">value2</case>

<default />default

</switch>

其中 name 属性可以使用函数以及系统变量,例如: <switch name="Think.get.userId|abs">

<case value="1">admin</case>

<default />default

</switch>

也可以对 case 的 value 属性使用变量,例如:

<switch name="userId">

<case value="$adminId">admin</case>

<case value="$memberId">member</case>

<default />default

</switch>

比较标签

<eq name="name" value="value">value</eq> // name 变量的值等于 value 就输出

<neq name="name" value="value">value</neq> // name 变量的值不等于 value 就输出 <gt name="name" value="5">value</gt> // name 变量的值大于 5 就输出

<egt name="name" value="5">value</egt> // name 变量的值大于等于 5 就输出 <lt name="name" value="5">value</lt> // name 变量的值小于 5 就输出

<elt name="name" value="5">value</elt> // name 变量的值小于等于 5 就输出

//其实上面的所有标签都是 compare 标签的别名

// 其中 type 属性的值就是上面列出的判断标签名称

<compare name="name" value="5" type="eq">value</compare> // name 变量的值等于 5 就输出

If标签

<if condition="$name eq 1 "> value1

<elseif condition="$name eq 2" />value2

<else /> value3

</if>

C操作

操作(动态)配置: 主要用于Action方法里面

获取:

C('配置参数')

设置:

C('配置参数 ',新值)

A操作

快速创建Action对象: $action = A('User'); 等效于

$action = new UserAction();

D操作

快速创建模型数据对象: $model = D('User'); 等效于

$model = new UserModel();

S操作

快速操作缓存方法

获取:

S('name')

设置:

S('name','value'); 删除:

S('name',NULL);

F操作

快速文件数据保存方法 使用方法与S操作一样

L操作

快速操作语言变量 获取:

L('语言变量'); 设置:

L('语言变量','值');

如: L('USER_INFO','用户信息'); //设置名称为USER_INFO的语言变量 批量赋值:

$arr['语言变量1'] = '值1';

$arr['语言变量2'] = '值2';

L($arr);

ThinkPHP系统常量

THINK_PATH // ThinkPHP系统目录

APP_PATH // 当前项目目录

APP_NAME // 当前项目名称

MODULE_NAME //当前模块名称

ACTION_NAME // 当前操作名称

TMPL_PATH // 项目模版目录

LIB_PATH // 项目类库目录

CACHE_PATH // 项目模版缓存目录

CONFIG_PATH //项目配置文件目录 LOG_PATH // 项目日志文件目录

LANG_PATH // 项目语言文件目录 TEMP_PATH //项目临时文件目录

PLUGIN_PATH // 项目插件文件目录 VENDOR_PATH // 第三方类库目录 DATA_PATH // 项目数据文件目录 IS_APACHE // 是否属于 Apache IS_IIS //是否属于 IIS

IS_WIN //是否属于Windows 环境 IS_LINUX //是否属于 Linux 环境

IS_FREEBSD //是否属于FreeBsd环境 NOW_TIME // 当前时间戳

MEMORY_LIMIT_ON // 是否有内存使用限制

MEMORY_LIMIT_ON // 是否有内存使用限制 OUTPUT_GZIP_ON // 是否开启输出压缩

MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC THINK_VERSION //ThinkPHP版本号

LANG_SET // 浏览器语言

TEMPLATE_NAME //当前模版名称

TEMPLATE_PATH //当前模版路径

// 网站根目录地址

// 当前项目(入口文件)地址

/Info // 当前模块地址

/Info/detail // 当前操作地址

/info/234.html // 当前 URL 地址

TMPL_FILE_NAME //当前操作的默认模版名(含路径) WEB_PUBLIC_URL //网站公共目录

APP_PUBLIC_URL //项目公共模版目录

预定义常量

WEB_LOG_ERROR=0 // 错误日志类型

WEB_LOG_DEBUG=1 // 调试日志类型

SQL_LOG_DEBUG=2 // SQL 日志类型

SYSTEM_LOG=0 // 系统方式记录日志

MAIL_LOG=1 // 邮件方式记录日志

TCP_LOG=2 // TCP 方式记录日志

FILE_LOG=3 // 文件方式记录日志

DATA_TYPE_OBJ=1 // 对象方式返回

DATA_TYPE_ARRAY=0 // 数组方式返回

URL_COMMON=0 // 普通模式 URL

URL_PATHINFO=1 // PATHINFO URL

URL_REWRITE=2 // REWRITE URL

HAS_ONE=1 // HAS_ONE 关联定义

BELONGS_TO=2 // BELONGS_TO 关联定义 HAS_MANY=3 // HAS_MANY 关联定义

MANY_TO_MANY=4 // MANY_TO_MANY 关联定义 EXISTS_TO_VAILIDATE = 0 // 表单存在字段则验证 MUST_TO_VALIDATE = 1 // 必须验证

VALUE_TO_VAILIDATE = 2 // 表单值不为空则验证


第二篇:总结ThinkPHP使用技巧经验分享3


总结ThinkPHP使用技巧经验分享(三)

2013/03/01 16:02 thinkphphj 评论

add方法返回主键(id)的值

在往数据表中添加数据时调用add方法,默认返回值就是刚添加的id值,就不用再去查询了.

save方法返回值的判断

在修改数据时,如果修改成功返回的是被修改的记录数0,1,2,3......

注意:以下几种情况返回 false,所以判断更新失败应使用 if(false === $this->save())

(1)更新的数据为空

(2)_before_update()方法返回false

(3)没有任何更新条件(没有定义where()里的条件,或者保存的数据里没有主键的值)

查询后置方法详解

如_after_select,_after_insert,_after_update,_after_delete,_after_find等 巧妙地利用这些方法可以简化开发

用_after_select(&$result,$options)举例: 返回 下一篇

参数:$result,这是select出的结果数组。注意这里是一个引用传参,也就是说我们可以直接改变传递过来的值而不需要返回 $options,这是查询的条件,也就是where()里面的条件

假如你查询出的数据有time这一字段,并且是以int型保存的,那么可以在这个方法里进行时间格式化的操作

总结ThinkPHP使用技巧经验分享3

总结ThinkPHP使用技巧经验分享3

总结ThinkPHP使用技巧经验分享3

$User->select();

echo $User->getLastSql();或者echo $User->_sql();

获取最后执行的sql语句,方便查看调试

跨模板主题调用模板

假如Tpl下有new主题,该主题下有User文件夹,文件夹下有index.html

你当前的模板主题是Tpl下的default,那么可以用$this->display('new:User:index');

或者用全路径输出$this->display('./Tpl/new/User/index.html');

路由规则^符号的使用

这个符号在手册中没有提及,但是作用却不可忽视。

用法:'user/^getlist|tag' => 'user/index'

作用:在user模块中,除了getlist和tag方法,其他存在的方法全部指向index方法。参数之间用|间隔 这样可以屏蔽一些不想让用户访问到但是又必须定义成public的方法

更多相关推荐:
泡妞技巧大总结

舞步学院专研追女生的技巧和方法的学院教你让你喜欢的女生喜欢上你的秘密泡妞技巧大总结在我的生活当中碰到过不少这样的人他们行为举止谈吐都非常的优雅但是对待女人却没有一套功夫即使两个人再深爱但是如果你没有一套自己的技...

实用泡妞经验总结

舞步学院专研追女生的技巧和方法的学院教你让你喜欢的女生喜欢上你的秘密实用泡妞经验总结1女人爱钱是一种人的本性这和对你真不真心没有必然的联系我相信坐在奔驰内哭的女人一定比站在天桥底下笑的女人幸福因为我只听过贫穷夫...

“快3”规律

高手彩民玩出快3规律时间20xx0104161652来源快3网点击1510福彩快3游戏在全国火热上市上市期间一直都深得彩民朋友们的热捧而快游戏的技巧也通过不断的投注与分析总结出了许多的技巧投注看准号码倍投选择递...

快3技巧+投注实例收集整理

快3技巧投注实例收集整理备注以下收集均来自个大快3平台本人只是整理收集实例则是投注过程中研究所得仅供参考快3号称59的返奖率其实返奖率最高的奖金只有8块钱我看过很多论坛许多彩民玩快3顷刻间就输掉上千皆源于一个贪...

快三稳赚技巧前二码加减定胆玩法攻略

快三稳赚技巧前二码加减定胆玩法快3技巧312100817快三上市以来就由于其玩法简单中奖率高的特点迅速受到广大彩民的追捧慢慢的也能从各种数据和投注经验中总结出一些投注技巧今天小编要讲的是快3游戏技巧的前二码加减...

福彩站主分享快三玩法十大选号技巧

福彩站主分享快三玩法十大选号技巧快三投注方法多种多样近日江苏宝应县第311号福彩站主许道海向彩民朋友推荐几个方法供您参考1看遗漏找组合快三的组合就是两个任意不同的号码形成的组合号码每个组合含二不同号码2个三不同...

大象安徽快3投注技巧之五项投注法门

以下多位老彩民朋友购买快3的总结出来的五项投注技巧都是自己的宝贵经验和总结期望能给广大彩民朋友们一些帮助1查遗漏找组合快三的组合就是两个任意不同的号码随机组成的号码每个组合有二不同号码2个三不同号码4个合计6个...

化学班20xx年安全技术比武总结2

化学分析班安全技术比武总结根据中心下发的关于开展安康杯系列活动的通知我班组开展了安全技术比武竞赛活动通过竞赛活动的开展逐步提高班组员工队伍的素质检验班组人员的工作质量及业绩还通过班组员工宣传动员让大家充分认识到...

在20xx年职工技术比武大赛总结表彰会上的讲话

在20xx年职工技术比武大赛总结表彰会上的讲话叶东生20xx年12月10日同志们在公司局各项工作进展良好安全形势平稳推进煤炭生产销售连创新高新区建设进展有序技改项目完成顺利生产经营呈现良好势头的情况下今天我们在...

技术比武工作总结

技术员物资人员技术比武总结为了激发职工学技术比技能的热情提升职工业务技能帮助职工岗位成才在青工中营造出比学干超学技练功的良好氛围西安公司在年初制定了职工技术比武方案但是由于上半年开工工地建设工期较紧各科室工作安...

20xx年度技术比武工作总结

柳泉煤矿20xx年度技术比武总结根据集团公司意见经矿各级领导的策划及各工区的积极配合继20xx年度技术比武过后我们组织开展了20xx年度第一届技术比武活动在全矿范围内掀起主动学习专业技术提高基本操作水平的热潮努...

技术比武活动总结范文

技术比武总结各位领导为了认真贯彻落实集团公司职工技术比武的精神以岗位成才为重点全面提高职工队伍整体素质提升安全操作技能促进安全生产培养各岗位技术人才和操作人才我单位开展技术学习培训岗位练兵技术比武活动参加技术培...

泡妞技巧经验总结(2篇)