h2 class=”titName SG_txta” id=”t_484583ca0100j7md”Fleaphp函数用法举例/h2span class=”img2″/spanspan class=”time SG_txtc”/spandiv class=”turnBoxzz”a href=”javascript:;” id=”quote_set_sign2″ onclick=”scope.articel_quote_alert amp;amp; scope.articel_quote_alert(’484583ca0100j7md’);return false;” class=”SG_aBtn SG_aBtn_ico SG_turn”citebr /
/cite/a/div div class=”articalTag” id=”sina_keyword_ad_area” table tbodytr td class=”blog_tag”br /
/td td class=”blog_class”br /
/td /tr /tbody/table /div h3nbsp;wbr/h3 1。FLEA_Db_TableDataGateway::update ()用法:br /
例如:修改一条 uid=22 的记录, name字段改成”11″, pass字段改成”22″,就要这样写:br /
$data = array(‘uid’=gt;22,’name’=gt;11,’pass’=gt;22);br /
$table-gt;update($data);br /
br /
2。font face=”NSimsun”FLEA_Db_TableDataGateway::updateByConditions()用法:br /
例如:更新所有 level_ix = 3 的记录,并且把这些记录的特定字段(由 $row 确定)都更新为指定的值。br /
/fontfont face=”NSimsun”$row = array(br /
nbsp;wbr nbsp;wbr字段 =gt; 字段值br /
nbsp;wbr nbsp;wbr字段 =gt; 字段值br /
nbsp;wbr nbsp;wbr字段 =gt; 字段值br /
nbsp;wbr nbsp;wbr字段 =gt; 字段值br /
);br /
br /
$conditions = array(‘level_ix’ =gt; 3);br /
$table-gt;updateByConditions($conditions, $row);/fontbr /
br /
font face=”NSimsun”3。FLEA_Db_TableDataGateway::updateField()用途:更新记录的指定字段,返回更新的记录总数br /
/fontfont face=”NSimsun”例如:以查找满足$conditions的条件,修改其中字段为class_id的值为$targetId.br /
/fontfont face=”NSimsun”$sourceId = $_POST['source'];br /
$targetId = $_POST['target'];br /
$conditions = array(‘class_id’ =gt; $sourceId);br /
$table-gt;updateField($conditions,’class_id’,$targetId);/fontbr /
br /
4。FLEA_Db_TableDataGateway::updateRowset ()用途:更新记录集(多行记录)br /
用法和update ()类似,只不过是修改多条记录:br /
例如:$data =array(array(‘id’=gt;’2′,’name’=gt;’111′,’job’=gt;’111′),array(‘id’=gt;’3′,’name’=gt;’222′,’job’=gt;’222′));br /
nbsp;divwbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr $arr=$this-gt;_test-gt;updateRowset($data);想必大家能看明白吧…呵呵。。。br /
一定注意:$data 一定要是二维的,即使用updateRowset ()修改一条记录也要这样写:br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr $data=array(array(‘id’=gt;’2′,’name’=gt;’111′,’job’=gt;’111′));br /
说得清不清楚啊?呵呵br /
br /
5。FLEA_Db_TableDataGateway::create ()用途:插入一条新记录,返回新记录的主键值br /
例如:$data = array(array(‘uid’=gt;22,’name’=gt;11,’pass’=gt;22),array(‘uid’=gt;23,’name’=gt;12,’pass’=gt;23));br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbrnbsp;wbr$table-gt;create($data);br /
br /
6.FLEA_Db_TableDataGateway::createRowset()插入多行记录,返回包含所有新记录主键值的数组br /
例如:$data = array(array(‘uid’=gt;22,’name’=gt;11,’pass’=gt;22),array(‘uid’=gt;23,’name’=gt;12,’pass’=gt;23));br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbrnbsp;wbr$table-gt;createRowset($data);br /
br /
7.FLEA_Db_TableDataGateway::remove () 删除一条记录,条件必须为主键br /
例如:remove(array(“id”=gt;”2″));br /
br /
br /
8。FLEA_Db_TableDataGateway::removeByConditions ()看名知义,当然是删除符合条件的记录喽br /
正常情况下和remove()的条件可以通和,如果对有多个主键的表进行删除操作:br /
conditions = array(br /
nbsp;wbr nbsp;wbr’主键1′ =gt; xxx,br /
nbsp;wbr nbsp;wbr’主键2′ =gt; yyy,br /
nbsp;wbr nbsp;wbr’主键3′ =gt; zzz,br /
)br /
$table-gt;removeByConditions($conditions);br /
另注意一点:如果某个表有多个主键的话,那么它所对应的Model中的nbsp;wbr nbsp;wbr$primaryKey 只能设置为一个最常用的主键,不能设置为一个数组br /
br /
9。amp; FLEA_Db_TableDataGateway::findBySql ()用途:直接使用 sql 语句获取记录br /
例如: $arr=$this-gt;_test-gt;findBySql(‘SELECT * FROM newtable’);br /
br /
10。FLEA_Db_TableDataGateway::decrField ()用途:减小符合条件的记录的指定字段的值,返回更新的记录总数 (该操作不会引发任何事件,也不会处理关联数据)。br /
例如:$arr=$this-gt;_test-gt;decrField(array(‘id’=gt;’3′),’prize’,$decr = 2);br /
注意:$decr默认值为1,数字2是本人自己改的,当然你也可以改为34568了,改几就减几,明白了吧。。。br /
br /
11。FLEA_Rbac_UsersManager::updatePasswordById ()用途:直接更新密码br /
例如:把ID为1的密码设为00000br /
$arr=$this-gt;_student-gt;updatePasswordById (’1′,’000000′);br /
注意:前提是数据库中一定要有叫做Password的字段;修改后的密码是加密的。br /
br /
12。FLEA_Rbac_UsersManager::checkPassword ()用途:检查密码的明文和密文是否符合br /
例如: $user = $usersManager-gt;findByUsername(‘andy’);br /
nbsp;wbr nbsp;wbr$usersManager-gt;checkPassword(’000000′, $user[$usersManager-gt;passwordField]))br /
br /
13.FLEA_Rbac_UsersManager::encodePassword ()用途:将密码明文转换为密文br /
例如: $user = $this-gt;_student-gt;findByUsername(‘andy’);br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr$arr=$this-gt;_student-gt;encodePassword($user[$this-gt;_student-gt;passwordField]);br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr$this-gt;_student-gt;updatePassword($user[username],$arr);br /
注意:前提是数据库中一定要有叫做Password的字段;br /
br /
14.FLEA_Rbac_UsersManager::updatePasswordById ()用途:直接更新密码br /
nbsp;wbr nbsp;wbrnbsp;wbrnbsp;wbr这个我不说了啊,我想聪明的你一看例11就会明白了br /
br /
15。FLEA_Db_TableDataGateway::updateByConditions ()用途:更新符合条件的记录,成功返回更新的记录总数br /
例如: $condition=array(‘id’=gt;2);br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr$row=array(‘name’=gt;’nicholas’);br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr$this-gt;_test-gt;updateByConditions($condition,$row);br /
br /
br /
16.FLEA_Db_TableDataGateway::updateField () 用途:更新记录的指定字段,返回更新的记录总数 该操作不会引发任何事件,也不会处理关联数据。br /
例如:修改id为2的记录,把字段为name的值修改为vin就要这么写:br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr$condition=array(‘id’=gt;2);br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr$this-gt;_test-gt;updateField($condition,’name’,'vin’);br /
br /
17、FLEA_Db_TableDataGateway::incrField () 用途:增加符合条件的记录的指定字段的值,返回更新的记录总数br /
例如:这个也不说,去看例10吧,但要注意,例10是减,这个是加,嘿嘿。。。br /
br /
18。FLEA_Db_TableDataGateway::replaceRowset () 用途:替换记录集(多行数据),返回记录集的主键字段值,失败返回 falsebr /
nbsp;wbr nbsp;wbrnbsp;wbrnbsp;wbr$condition=array(array(‘id’=gt;2,’name’=gt;nicholas,’job’=gt;good));br /
nbsp;wbr nbsp;wbrnbsp;wbrnbsp;wbr$this-gt;_test-gt;replaceRowset($condition);br /
注意:1,假设表中有id,name,job,prize等,如果在$condition中没写prize字段,会就默认插入空,原有的数据会被清除,如不注意,也许会丢失数据 2。$condition一定是二维的br /
br /
19。FLEA_Db_TableDataGateway::removeAll ()用途:删除所有记录,用时要谨慎br /
例如:$this-gt;_test-gt;removeAll ();br /
br /
20。FLEA_Db_TableDataGateway::removeAllWithLinks ()用途:删除所有记录及关联的数据br /
注意:这个更加要慎用,所有与这个表有关联的表数据都将被删除,何谓有关联,也就是说,此表中的某个字段可能是另外一个表中的外键,此谓之有关联。br /
例如:br /
在MODEL中一个叫做com的表关联了一个叫做student的表,com表中的uid是student表中的外键,那么我们就说这两个表关联起来了,是用下面的方法关联起来的br /
class Model_com extends FLEA_Db_TableDataGatewaybr /
{br /
nbsp;wbr nbsp;wbr var $tableName = ‘newtable’;br /
nbsp;wbr nbsp;wbr var $primaryKey = ‘uid’;br /
nbsp;wbr nbsp;wbr var $hasOne=array(‘tableClass’ =gt; ‘Model_student’,br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr’foreignKey’ =gt; ‘uid’,br /
nbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbrnbsp;wbr nbsp;wbr’mappingName’=gt;’jobs’);br /
}br /
这时,我们执行下面的语句:br /
$this-gt;_test =amp; FLEA::getSingleton(‘Model_com’);br /
$this-gt;_test-gt;removeAllWithLinks();br /
大家想会发生什么后果?答对了,com表中的所有数据和student表中的所有数据都被删除了,注意是数据被删除了,表和字段还在。知道这个函数的邪恶了吧,所以请大家慎用。。。br /
br /
21。FLEA_Db_TableDataGateway::removeByPkv (主键值) 参数是主键值,是几就写几,如:1,2,3等等。。。用途:根据主键值删除记录,首先删除关联表数据,再删除主表数据,简单的说,假如你把主表中ID为‘1’的一个条数据删除了,那么,与其关联的表中的那条ID为’1‘的条件也会被删除。br /
例如:$arr=$this-gt;_test-gt;removeByPkv (’1′);br /
br /
br /
22。FLEA_Db_TableDataGateway::removeByPkvs(主键值数组)用途:删除数组中所有主键值的记录br /
注意:参数是数组,而且不能像以往类似array(‘ID’=gt;’1′)这样写成关联数组,要这样写:array(1,2,3)br /
例如: $conditions=array(1,2,3);br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $arr=$this-gt;_test-gt;removeByPkvs($conditions);br /
这两条语句的意思就是删除表中主键为1,2,3的记录。br /
发现一个问题:API上说:这条语句是删除数组中所有主键值的记录,该操作不会处理关联,但在实际测试的时候发现会影响关联表中的数据,关联表中的数据也一并被删除了,请大虾们解释一下,何故?br /
br /
br /
23。FLEA_Db_TableDataGateway::enableLink ()用途:启用指定关联br /
这个来自论坛廖老大答网友问,嘿嘿,当然要比鄙人解释的好,所以贴过来啦。。。br /
class Table_Posts extends FLEA_Db_TableDataGatewaybr /
{br /
nbsp;wbrnbsp;wbrnbsp;wbr ….br /
nbsp;wbrnbsp;wbr …..br /
// enableLink() 参数就是关联的 mappingNamebr /
$tablePosts-gt;enableLink(‘comments’);br /
…..br /
nbsp;wbrnbsp;wbrnbsp;wbr var $hasMany = array(br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr array(br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘tableClass’ =gt; ‘Table_Comments’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘foreignKey’ =gt; ‘post_id’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘mappingName’ =gt; ‘comments’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr …..br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘enabled’ =gt; false, // 这里是关键,表示默认禁用该关联br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr )br /
nbsp;wbrnbsp;wbrnbsp;wbr );br /
}上面的代码定义了一个关联,但是查询时该关联并不会启用。只有在确实需要查询关联数据时,使用br /
…..br /
// enableLink() 参数就是关联的 mappingNamebr /
$tablePosts-gt;enableLink(‘comments’);br /
…..br /
br /
br /
24。FLEA_Db_TableDataGateway::enableLinks()用途:启用所有或多个关联br /
注意参数是个数组,这么写:br /
$this-gt;_test-gt;enbleLinks(array(‘jobs’,’teacherjob’));br /
这样就可以启用多个关联了,呵呵br /
br /
br /
25。disableLink ()用途:禁用指定关联br /
请大家参照例23,用法都是一样的,只是作用相反br /
br /
br /
26。disableLinks ()用途:禁用所有或多个关联br /
这个请大家参照例24,用法一样br /
br /
br /
27.FLEA_Db_TableDataGateway::clearLinks()用途:清除所有关联br /
例如:$this-gt;_test-gt;clearLinks ();br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $arr=$this-gt;_test-gt;findAll();br /
这时,与_test有关联的表中的数据就不会被显示出来了br /
br /
br /
28。FLEA_Db_TableDataGateway::relink ()用途:重建所有关联br /
给大家举个例子就全明白了:br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $this-gt;_test-gt;clearLinks ();br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $this-gt;_test-gt;relink ();br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $arr=$this-gt;_test-gt;findAll();br /
注意例28和例27的区别,多一句 $this-gt;_test-gt;relink ();虽然前一句cldarLinks清除了所有关联,但是这句又把清除的关联又得新连接起来了,呵。。。br /
这回关联表中的数据又都显示出来了,嘿嘿,明白了吧br /
br /
br /
29.amp; FLEA_Db_TableDataGateway::getLink ()br /
测试出来结果了,但还是不明白他的作用是什么,我会在论坛上发贴寻问,弄明白再贴上br /
br /
br /
30.amp; FLEA_Db_TableDataGateway::getLinkTable ()br /
(同上)br /
br /
br /
31.amp; FLEA_Db_TableDataGateway::existsLink (paddingname) 用途:检查指定名字的关联是否存在br /
例如:class Model_com extends FLEA_Db_TableDataGatewaybr /
{br /
nbsp;wbrnbsp;wbrnbsp;wbr var $tableName = ‘newtable’;br /
nbsp;wbrnbsp;wbrnbsp;wbr var $primaryKey = ‘uid’;br /
nbsp;wbrnbsp;wbrnbsp;wbr var $hasMany=array(br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr array(‘tableClass’ =gt; ‘Model_student’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘foreignKey’ =gt; ‘uid’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘mappingName’=gt;’jobs’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr //’enabled’ =gt; falsebr /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ),br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrbr /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr array(‘tableClass’ =gt; ‘Model_teacher’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘foreignKey’ =gt; ‘uid’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr ‘mappingName’=gt;’teacherjob’,br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr //’enabled’ =gt; falsebr /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr )br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr );br /
}br /
这是在MODEL中定义的,关联了两个表,paddingname分别是jobs,teacherjob,大家看好,如果我在控制器中这么写:br /
$arr=$this-gt;_test-gt;existsLink (‘teacherjob’);br /
dump($arr);br /
就会在浏览器中输出”1″,br /
如果这么写br /
$arr=$this-gt;_test-gt;existsLink (‘teacher’);br /
dump($arr);br /
就会没有输出,看明白什么意思了吧,也就是说没有这个字段就不会有输出,有这个paddingname就会输出”1″啦,呵。。。br /
br /
br /
32。FLEA_Db_TableDataGateway::createLink ()用途:建立关联,并且返回新建立的关联对象br /
这个不班门弄斧了,这个是论坛上的,一看就明白:br /
$link = array(br /
nbsp;wbrnbsp;wbrnbsp;wbr ‘tableClass’ =gt; ‘Table_Test’,br /
nbsp;wbrnbsp;wbrnbsp;wbr ‘foreignKey’ =gt; ‘test_id’,br /
nbsp;wbrnbsp;wbrnbsp;wbr ‘mappingName’ =gt; ‘test’,br /
);br /
br /
$table-gt;createLink($link, HAS_MANY);br /
br /
br /
33.assembleRecursionRowset() 和 assembleRecursionRow()br /
例如:廖老大发的,啥也不说了,无条件接受吧,嘿嘿。。。br /
http://www.fleaphp.org/bbs/viewthread.php?tid=1878amp;highlight=assembleRecursionRowbr /
br /
34。amp; FLEA_Db_TableDataGateway::findByField ()br /
例如:例如findByField(‘sno’,’020497′),其实就是和find(“sno=’020497′”)是一样的效果br /
br /
br /
35。url($ controllerName = null, $actionName = null, $params = null,$anchor = null,$ options = null) 用途:很大!br /
这部分选自API,有例子,很好:br /
构造 urlbr /
构造 url 需要提供两个参数:控制器名称和控制器动作名。如果省略这两个参数或者其中一个。br /
则 url() 函数会使用应用程序设置中的确定的默认控制名称和默认控制器动作名。br /
url() 会根据应用程序设置 urlMode 生成不同的 URL 地址:br /
URL_STANDARD – 标准模式(默认),例如 index.php?url=Loginamp;action=Rejectamp;id=1br /
URL_PATHINFO – PATHINFO 模式,例如 index.php/Login/Reject/id/1br /
URL_REWRITE – URL 重写模式,例如 /Login/Reject/id/1br /
生成的 url 地址,还要受下列应用程序设置的影响:br /
controllerAccessorbr /
defaultControllerbr /
actionAccessorbr /
defaultActionbr /
urlModebr /
urlLowerCharbr /
用法: $url = url(‘Login’, ‘checkUser’); // $url 现在为 ?controller=Loginamp;action=checkUserbr /
$url = url(‘Login’, ‘checkUser’, array(‘username’ =gt; ‘dualface’)); // $url 现在为 controller=Loginamp;action=checkUseramp;username=dualfacebr /
$url = url(‘Article’, ‘View’, array(‘id’ =gt; 1′), ‘details’); // $url 现在为 controller=Articleamp;action=Viewamp;id=1detailsbr /
br /
br /
36.redirect()br /
这个函数很好,不过鄙人只用了他的基本用法br /
例如:redirect(../index.php);回到入口文件;br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr redirect(url(‘default’,'zhx’));br /
就是这么用的,反正好用,呵呵…还有一个常用的就是,如果再加入个参数,就可以实现几秒后跳转,就是在URL()的后面加入一个数子就行,大家知道有这个功能会用就行了br /
br /
br /
37。FLEA::loadFile ($filename,$loadonce=false)br /
用途:载入指定的文件br /
例如: FLEA::loadFile (‘Table_Posts.php’); // 等同于 include ‘Table/Posts.php’;br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $loadOnce 指定为 true 时,FLEAloadFile() 等同于 require_oncebr /
br /
br /
38.FLEA_Helper_ImgCode::imagebr /
下面给大家看展示一个很常用的函数,生成验证码的image(),下面看例子:br /
lt;?phpbr /
FLEA::loadClass(‘FLEA_Helper_ImgCode’);br /
class Model_code extends FLEA_Helper_ImgCodebr /
{br /
br /
}br /
?gt;br /
我先在MODEL中创建了一个类,这个类没有内容,没有内容为什么还要创建呢,这是因为要让这个函数继承FLEA_Helper_ImgCode 的强大功能啊,image()这个函数就在这个类里面.好了下面我们在控制器中写下面的语句:br /
$this-gt;imgcode =amp; FLEA::getSingleton(‘Model_code’);br /
$this-gt;imgcode-gt;image();br /
好了,这时运行就会在浏览器中输入随机的四位验证码了,当然四们是默认的,你也可以设为五位,六位了.请看参数依次为:br /
int $type 验证码包含的字符类型,0 – 数字、1 – 字母、其他值 – 数字和字母br /
int $length 验证码长度br /
int $leftime 验证码有效时间(秒)br /
array $options 附加选项,可以指定字体、宽度和高度等参数br /
br /
br /
39.FLEA_Helper_ImgCode::_hex2rgb () 用途:将 16 进制颜色值转换为 rgb 值br /
这个函数可能不常用,但看到了也一起写上来了br /
用时也要创建一个例38那样的空类继承FLEA_Helper_ImgCodebr /
然后在控制器中这样写:br /
例如$this-gt;imgcode =amp; FLEA::getSingleton(‘Model_code’);br /
nbsp;wbrnbsp;wbrnbsp;wbrnbsp;wbr $this-gt;imgcode-gt;_hex2rgb(‘ff00ff’);br /
这时就会把16进制的ff00ff的颜色值转换为RGB值勤了br /
注意:因为RGB值是三个三位的,所以返回的是一个数组要用定义的数级变量接收br /
br /
br /
40.microtime_float()这个很常用,但很简单,写在这里的目的是为了让大家了解FLEAPHP中的这个microtime_float()和PHP5中mktime()的区别:br /
mktime()返回的包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数,而microtime_float()返回的是毫秒数,返回值是浮点数./div