控制器调用:

    function gets()
{
$model = Model('ap_pic');
$model->select = ' id, size_type ';
$gets['page'] = empty($_GET['page'])?0:intval($_GET['page']);
$gets['pagesize'] = 2;
$gets['where'] = " orders=1381392612 ";
$gets['orwhere'] = " name=1381392612 ";
$pager = 2;
$list = $model->gets($gets, $pager);
echo "<pre>";
var_dump($list);
echo "</pre>";
exit;
}

调用了Model.php

    /**
* 获取表的一段数据,查询的参数由$params指定
* @param $params
* @param $pager Pager
* @return Array
*/
public final function gets($params, &$pager=null)
{
if (empty($params))
{
throw new \Exception("no params.");
} $selectdb = new SelectDB($this->db);
$selectdb->from($this->table);
$selectdb->primary = $this->primary;
$selectdb->select($this->select); if (!isset($params['order']))
{
$params['order'] = "`{$this->table}`.{$this->primary} desc";
}
$selectdb->put($params); if (isset($params['page']))
{
$selectdb->paging();
$pager = $selectdb->pager;
} return $selectdb->getall();
}

selectDB.php中 function put($params)

    /**
* 将数组作为指令调用
* @param $params
* @return null
*/
function put($params)
{
if(isset($params['put']))
{
Error::info('SelectDB Error!','Params put() cannot call put()!');
}
//处理where条件
if(isset($params['where']))
{
$wheres = $params['where'];
if(is_array($wheres)) foreach($wheres as $where) $this->where($where);
else $this->where($wheres);
unset($params['where']);
}
//处理orwhere条件
if(isset($params['orwhere']))
{
$orwheres = $params['orwhere'];
if(is_array($orwheres)) foreach($orwheres as $orwhere) $this->orwhere($orwhere);
else $this->$orwheres($orwheres);
unset($params['orwhere']);
}
//处理walk调用
if(isset($params['walk']))
{
foreach($params['walk'] as $call)
{
list($key,$value) = each($call);
$this->_call($key,$value);
}
unset($params['walk']);
}
//处理其他参数
foreach($params as $key=>$value)
{
$this->_call($key,$value);
}
}

swoole gets的更多相关文章

  1. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

  2. 使用php+swoole对client数据实时更新(下)

    上一篇提到了swoole的基本使用,现在通过几行基本的语句来实现比较复杂的逻辑操作: 先说一下业务场景.我们目前的大多数应用都是以服务端+接口+客户端的方式去协调工作的,这样的好处在于不论是处在何种终 ...

  3. 使用php+swoole对client数据实时更新(上)

    如果想对一个列表做实时的更新,传统的做法是采用轮询的方式.以web为例,通过Ajax定时请求服务端然后获取数据显示在页面.这种方式实现简单,缺点就是浪费资源. HTTP1.1新增加了对websocke ...

  4. [Linux][PHP]安装swoole扩展

    1.下载swoole 2.解压并配置 /usr/local/php/bin/phpize ./configure --enable-swoole-debug --enable-sockets --en ...

  5. 被swoole坑哭的PHP程序员

    被swoole坑哭的PHP程序员 2015-09-16 09:57 文帅营 博客园 字号:T | T 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强 ...

  6. centos下php安装swoole扩展

    官网:http://wiki.swoole.com/wiki/index/prid-1 国内Git镜像:http://git.oschina.net/matyhtf/swoole.git 下载源码后, ...

  7. windows php swoole 安装

    Cygwin 官方地址:http://www.cygwin.com/ swoole 官方下载地址:https://github.com/swoole/swoole-src/releases 1.下载 ...

  8. Linux下swoole的安装配置

    前几天搭建swoole环境,在安装php的swoole扩展时不知道什么原因,提示成功,但是使用的时候不能加载,最后决定重新安装php试试,顺便记录了php的安装过程 wget http://cn2.p ...

  9. 简单的聊天室代码php+swoole

    php swoole+websocket 客户端代码 <!DOCTYPE html> <html> <head> <title></title&g ...

  10. swoole 使用 1

    在很长的一段时间里,我不太看好swoole,发现它的文档太少,社区也不够活跃等,但是最近在学习 Hprose时,发现swoole在rpc方面做得更加完善,于是决定看看. 在简单的使用swoole扩展后 ...

随机推荐

  1. WCF简单案例

    1,定义接口层,引用System.ServiceModel namespace Contracts { [ServiceContract(Name = "CalculatorService& ...

  2. 将Eclipse项目导入到Android studio 中 很多点9图出现问题解决方法

    在build.gradle里添加以下两句: aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false

  3. 华为P10闪存门

    随着余承东的倡议书以及五一假期3天的时间冲刷,华为的闪存门事件,似乎被冲淡了.但相信还有很多人对华为“闪存门”的起始及发展过程不是特别了解.而华为作为2017年Q1季度手机出货量的冠军,居然在4月份出 ...

  4. 微信小程序 this.setData 修改json里面的值

    page({ data:{ s1:{a:"",b:"b"} }, changeData:function(e){ var cData=this.data.s1; ...

  5. ajax如何上传文件

    PHP: <?php /** * Created by PhpStorm. * User: DELL * Date: 2017/11/23 * Time: 10:57 */ header(&qu ...

  6. 如何利用h5将视频设置为背景

    我们常常有着将视频作为网页背景的需要,但是在设置时也经常差强人意,今天设置了一下,可以基本达到要求了,可能有些小细节做的不是太好,希望指出来,一起进步 第一步:准备工作 工欲善其事必先利其器,我们首先 ...

  7. ubuntu下Eclipse创建Django项目

    (注:部分过程可能需要FQ) Eclipse版本:Mars.x 点击help->Eclipse Marketplace,搜索“PyDev”并下载安装. 然后选择window->prefer ...

  8. 优秀的PHP开发者是怎样炼成的?

    4.在数据库中避免使用联合操作 比起其它的Web编程语言来说,PHP的数据库功能十分强大.但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作 ...

  9. WPS Word查询某些内容的出现次数

    1.CTRL+F 打开查找窗体

  10. LeetCode——Min Stack

    Description: Design a stack that supports push, pop, top, and retrieving the minimum element in cons ...