Fleaphp常见函数功能与用法示例_php实例

本文实例讲述了Fleaphp常见函数功能与用法。分享给大家供大家参考,具体如下:

1. FLEA_Db_TableDataGateway::update()用法:

例如:修改一条 uid=22 的记录, name字段改成"11", pass字段改成"22",就要这样写:

$data = array('uid'=>22,'name'=>11,'pass'=>22);
$table->update($data);

2. FLEA_Db_TableDataGateway::updateByConditions()用法:

例如:更新所有 level_ix = 3 的记录,并且把这些记录的特定字段(由 $row 确定)都更新为指定的值。

$row = array(
字段 => 字段值
字段 => 字段值
字段 => 字段值
字段 => 字段值
);
$conditions = array('level_ix' => 3);
$table->updateByConditions($conditions, $row);

3. FLEA_Db_TableDataGateway::updateField()用途:更新记录的指定字段,返回更新的记录总数

例如:以查找满足$conditions的条件,修改其中字段为class_id的值为$targetId.

$sourceId = $_POST['source'];
$targetId = $_POST['target'];
$conditions = array('class_id' => $sourceId);
$table->updateField($conditions,'class_id',$targetId);

4. FLEA_Db_TableDataGateway::updateRowset ()用途:更新记录集(多行记录)

用法和update ()类似,只不过是修改多条记录:

例如:

$data =array(array('id'=>'2','name'=>'111','job'=>'111'),array('id'=>'3','name'=>'222','job'=>'222'));
$arr=$this->_test->updateRowset($data);

想必大家能看明白吧...呵呵。。。

一定注意:$data 一定要是二维的,即使用updateRowset ()修改一条记录也要这样写:

$data=array(array('id'=>'2','name'=>'111','job'=>'111'));

说得清不清楚啊?呵呵

5. FLEA_Db_TableDataGateway::create ()用途:插入一条新记录,返回新记录的主键值

例如:

$data = array(array('uid'=>22,'name'=>11,'pass'=>22),array('uid'=>23,'name'=>12,'pass'=>23));
$table->create($data);

6. FLEA_Db_TableDataGateway::createRowset()插入多行记录,返回包含所有新记录主键值的数组

例如:

$data = array(array('uid'=>22,'name'=>11,'pass'=>22),array('uid'=>23,'name'=>12,'pass'=>23));
$table->createRowset($data);

7. FLEA_Db_TableDataGateway::remove () 删除一条记录,条件必须为主键

例如:

remove(array("id"=>"2"));

8. FLEA_Db_TableDataGateway::removeByConditions ()看名知义,当然是删除符合条件的记录喽

正常情况下和remove()的条件可以通和,如果对有多个主键的表进行删除操作:

conditions = array(
'主键1' => xxx,
'主键2' => yyy,
'主键3' => zzz,
)
$table->removeByConditions($conditions);

另注意一点:如果某个表有多个主键的话,那么它所对应的Model中的 $primaryKey 只能设置为一个最常用的主键,不能设置为一个数组

9. & FLEA_Db_TableDataGateway::findBySql ()用途:直接使用 sql 语句获取记录

例如:

$arr=$this->_test->findBySql('SELECT * FROM newtable');

10. FLEA_Db_TableDataGateway::decrField ()用途:减小符合条件的记录的指定字段的值,返回更新的记录总数 (该操作不会引发任何事件,也不会处理关联数据)。

例如:

$arr=$this->_test->decrField(array('id'=>'3'),'prize',$decr = 2);

注意:$decr默认值为1,数字2是本人自己改的,当然你也可以改为34568了,改几就减几,明白了吧。。。

11. FLEA_Rbac_UsersManager::updatePasswordById ()用途:直接更新密码

例如:把ID为1的密码设为00000

$arr=$this->_student->updatePasswordById ('1','000000');

注意:前提是数据库中一定要有叫做Password的字段;修改后的密码是加密的。

12. FLEA_Rbac_UsersManager::checkPassword ()用途:检查密码的明文和密文是否符合

例如:

$user = $usersManager->findByUsername('andy');
$usersManager->checkPassword('000000', $user[$usersManager->passwordField]))

13. FLEA_Rbac_UsersManager::encodePassword ()用途:将密码明文转换为密文

例如:

$user = $this->_student->findByUsername('andy');
$arr=$this->_student->encodePassword($user[$this->_student->passwordField]);
$this->_student->updatePassword($user[username],$arr);

注意:前提是数据库中一定要有叫做Password的字段;

14. FLEA_Rbac_UsersManager::updatePasswordById ()用途:直接更新密码

这个我不说了啊,我想聪明的你一看例11就会明白了

15. FLEA_Db_TableDataGateway::updateByConditions ()用途:更新符合条件的记录,成功返回更新的记录总数

例如:

$condition=array('id'=>2);
$row=array('name'=>'nicholas');
$this->_test->updateByConditions($condition,$row);

16. FLEA_Db_TableDataGateway::updateField () 用途:更新记录的指定字段,返回更新的记录总数 该操作不会引发任何事件,也不会处理关联数据。

例如:修改id为2的记录,把字段为name的值修改为vin就要这么写:

$condition=array('id'=>2);
$this->_test->updateField($condition,'name','vin');

17. FLEA_Db_TableDataGateway::incrField () 用途:增加符合条件的记录的指定字段的值,返回更新的记录总数

例如:这个也不说,去看例10吧,但要注意,例10是减,这个是加,嘿嘿。。。

18. FLEA_Db_TableDataGateway::replaceRowset () 用途:替换记录集(多行数据),返回记录集的主键字段值,失败返回 false

$condition=array(array('id'=>2,'name'=>nicholas,'job'=>good));
$this->_test->replaceRowset($condition);

注意:

① 假设表中有id,name,job,prize等,如果在$condition中没写prize字段,会就默认插入空,原有的数据会被清除,如不注意,也许会丢失数据
② $condition一定是二维的

19. FLEA_Db_TableDataGateway::removeAll ()用途:删除所有记录,用时要谨慎

例如:

$this->_test->removeAll ();

20. FLEA_Db_TableDataGateway::removeAllWithLinks ()用途:删除所有记录及关联的数据

注意:这个更加要慎用,所有与这个表有关联的表数据都将被删除,何谓有关联,也就是说,此表中的某个字段可能是另外一个表中的外键,此谓之有关联。

例如:

在MODEL中一个叫做com的表关联了一个叫做student的表,com表中的uid是student表中的外键,那么我们就说这两个表关联起来了,是用下面的方法关联起来的

class Model_com extends FLEA_Db_TableDataGateway
{
var $tableName = 'newtable';
var $primaryKey = 'uid';
var $hasOne=array('tableClass' => 'Model_student',
'foreignKey' => 'uid',
'mappingName'=>'jobs');
}

这时,我们执行下面的语句:

$this->_test =& FLEA::getSingleton('Model_com');
$this->_test->removeAllWithLinks();

更多关于Fleaphp相关内容感兴趣的读者可查看本站专题:《Symfony框架入门教程》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Fleaphp框架的PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索Fleaphp
常见函数
wx.notebook用法示例、halcon算子用法示例、qdebug用法示例、校对符号及用法示例、机械制图常见问题示例,以便于您获取更多的相关知识。

时间: 2024-08-03 01:08:38

Fleaphp常见函数功能与用法示例_php实例的相关文章

Fleaphp常见函数功能与用法示例

本文实例讲述了Fleaphp常见函数功能与用法.分享给大家供大家参考,具体如下: 1. FLEA_Db_TableDataGateway::update()用法: 例如:修改一条 uid=22 的记录, name字段改成"11", pass字段改成"22",就要这样写: $data = array('uid'=>22,'name'=>11,'pass'=>22); $table->update($data); 2. FLEA_Db_Table

Zend Framework前端控制器用法示例_php实例

本文实例讲述了Zend Framework前端控制器用法.分享给大家供大家参考,具体如下: 常用方法 1.getInstance() 功能:用于获取前端控制器实例. 代码如下: <?php $front = Zend_Controller_Front::getInstance(); 执行上述代码,将创建一个前端控制器实例. 2.setControllerDirectory() 功能:用于通知分发器到何处查找动作控制器action controller类文件. 3.getControllerDir

php版微信发红包接口用法示例_php实例

本文实例讲述了php版微信发红包接口用法.分享给大家供大家参考,具体如下: 微信红包功能我相信各位朋友都知道吧,但如果我们要把红包集成到网站那么要如何来做呢?这里小编就来为各位分享一个php 微信发红包接口测试实例,希望文章能够帮助到各位朋友 下面是一个类,使用方法: $arr['openid']='ojgTTt8oF9VdYcGsJMACHpA-jy1U'; $arr['hbname']="提现申请"; $arr['body']="您的提现申请已经成功"; $ar

Yii2单元测试用法示例_php实例

本文实例讲述了Yii2单元测试用法.分享给大家供大家参考,具体如下: 使用composer方式安装yii2-app-basic (https://github.com/yiisoft/yii2-app-basic/blob/master/README.md) 装好后既可以使用 建一个Model文件EntryForm.php在models目录下 <?php namespace app\models; use Yii; use yii\base\Model; class EntryForm exte

php版微信自动获取收货地址api用法示例_php实例

本文实例讲述了php版微信自动获取收货地址api用法.分享给大家供大家参考,具体如下: 微信公众平台现在是越来越强大了,我们可以通过各种api接口来与平台对接获取对应的数据了,下面来看一个由php实现的微信自动获取收货地址api程序,具体如下. 关于接口的说明我就不介绍了,在官方可以看到下面只看处理程序. public function get_address_api() { $APPID=C('APPID'); $SCRETID=C('SCRETID'); if (!isset($_GET['

Yii2中关联查询简单用法示例_php实例

本文实例讲述了Yii2中关联查询用法.分享给大家供大家参考,具体如下: 有两张表,post和category,post.cate_id对应category.id 使用Gii上升这两张表的model 然后post的model中有如下代码 public function getCate() { return $this->hasOne(Category::className(), ['id' => 'cate_id']); } 在post这个model最下面在添加如下方法即可获取关联表内容 pub

yii2缓存Caching基本用法示例_php实例

本文实例讲述了yii2缓存Caching基本用法.分享给大家供大家参考,具体如下: 在yii的配置文件中添加: 'cache' => [ 'class' => 'yii\caching\ApcCache', ], 缓存的使用: <?php $key = 'cacheKey'; //读取缓存 $data = Yii::$app->cache->get($key); //判断缓存是否存在,如果不存就生成缓存 if ($data === false) { $cache->se

Zend Framework入门教程之Zend_Mail用法示例_php实例

本文实例讲述了Zend Framework入门教程之Zend_Mail用法.分享给大家供大家参考,具体如下: Zend_Mail组件提供了通用化的功能来创建和发送文本. Zend_Mail通过PHP内建的mail()函数或者直接通过SMTP连接来发送邮件. 一个简单的邮件由收件人.主题.邮件内容以及发件人等内容组成. 步骤如下 1.创建对象 2.设置邮件内容 3.发送 案例: <?php require_once "Zend/Mail.php"; $my_mail = new Z

Zend Framework分发器用法示例_php实例

本文实例讲述了Zend Framework分发器用法.分享给大家供大家参考,具体如下: 分发是取得请求对象,提取其中的模块名.控制器名.动作名以及可选参数,然后实例化控制器并调用其中动作的整个过程. 如果其中的模块.控制器或动作没有找到,将使用默认值. Zend_Controller_Dispatcher_Standard类指定每个控制器和动作的默认值为index,模块的默认值为default. 该类允许开发者通过setDEfaultController()方法.setDefaultAction