PhalApi那些事儿

1.get、post参数传递方式,以及测试地址;
get请求格式:服务器地址//PhalApi/Public/demo/?service=User.GetBaseInfo&/demo/?service=User.GetBaseInfo&user_id=1
返回消息:
{“ret”:200,”data”:{“code”:0,”msg”:”“,”info”:{“id”:”1”,”name”:”dogstar”,”note”:”oschina”}},”msg”:”“}

post请求地址:服务器地址/PhalApi/Public/demo/?service=User.GetBaseInfo&/demo/?service=User.GetBaseInfo
body参数名称:user_id
body参数值:1
返回消息:
{“ret”:200,”data”:{“code”:0,”msg”:”“,”info”:{“id”:”1”,”name”:”dogstar”,”note”:”oschina”}},”msg”:”“}

2.基于PhalApi的redis扩展
详细参考地址如下:
http://git.oschina.net/dogstar/PhalApi-Library/tree/master/Redis/
redis安装在下面有详细介绍在此只记录如何将redis扩展至PhalApi架构中;
redis连接信息如下:
redis->connect(‘127.0.0.1’, 6379);
注册配置文件在PhalApi库的Config.app文件下面

return array(
    //Redis配置项
    'redis' => array(
        //Redis缓存配置项
        'servers'  => array(
            'host'   => '127.0.0.1',        //Redis服务器地址
            'port'   => '6379',             //Redis端口号
            'prefix' => 'developers_',      //Redis-key前缀
            'auth'   => 'woyouwaimai76',    //Redis链接密码
        ),
        // Redis分库对应关系
        'DB'       => array(
            'developers' => 1,
            'user'       => 2,
            'code'       => 3,
        ),
        //使用阻塞式读取队列时的等待时间单位/秒
        'blocking' => 5,
    ),

);

将下载下来的扩展库中的Redis文件复制到library文件夹下:
在init入口文件注册redis拓展 入口文件位置为 public/init.php

//redis链接
DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers'));

3.数据库操作说明
指定表名,表前缀在Config/dbs.php中,下面的’tbl_’为表前缀;

   'tables' => array(
        //通用路由
        '__default__' => array(
            'prefix' => 'tbl_',
            'key' => 'id',
            'map' => array(
                array('db' => 'db_demo'),
            ),
        ),
    ),

表后缀名在自己定义的mode层类中通过getTableName函数指定,在此为user;
下面文件为Demo/Mode/User.php

<?php

class Model_User extends PhalApi_Model_NotORM {

    public function getByUserId($userId) {
        return $this->getORM()
            ->select('*')
            ->where('id = ?', $userId)
            ->fetch();
    }

    public function getByUserIdWithCache($userId) {
        $key = 'userbaseinfo_' . $userId;
        $rs = DI()->cache->get($key);
        if ($rs === NULL) {
            $rs = $this->getByUserId($userId);
            DI()->cache->set($key, $rs, 600);
        }
        return $rs;
    }

    protected function getTableName($id) {
        return 'user';
    }
}

通过上述两个步骤指定好需要访问的table,上述访问的表名为’tbl_user’;

详细操作参考w3c文档

http://www.w3cschool.cn/phalapi/7h1s1tqu.html

4.查询接口参数地址
服务器地址/Public/demo/checkApiParams.php?service=User.GetBaseInfo
5.关于连续两次操作统一sqlmodel会出现报错的情况,将操作错开进行就不会报错。1.读取数据列表;2.根据读取的id进行删除;报错
1.读取数据列表;2.根据id删除其他表数据;3.根据id删除本表数据正常;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值