Restler 使用CI的ActiveRecord

由于工作中,我们小组(3个人),我经验多一点点点,当时需要重新架构我写的API,我无意了解到Restful对android比较友好.当时找到了Restler,DB在前文提到是使用Respect/Relational,而我们的表的ID不是一定叫"id",导致写接口的同事无法进行下去,最后决定用Codeigniter Rest server来处理接口,用Restler写的API一直搁置到上上个礼拜,我研究了一下Restler使用Codeigniter(以下简称为:CI)的ActiveRecord,我提供的是一个案例

我项目的目录是:

vendor下的activeRecord是Codeigniter中的

<?php
namespace v1;

class Base {
    public $re_array = array(‘state‘=>0,‘msg‘=>‘No Result‘);
    //put your code here
    public $db;
    function __construct() {
       include_once "./vendor/activeRecord/active_init.php";
       $this->db = $db;
    }

}

?>

使用:

<?php
namespace v1;
/**
 * Description of Logo
 *
 * @author wakasann
 */
class Logo extends Base{
    //put your code here

    function __construct(){
            parent::__construct();
    }

    /**
    * 获取App Logo
    *
    * 获取App 使用的Logo
    *
    * @param string $username api用户名
    * @param string $password api密钥
    * @return string
    */
    public function index($username,$password){

        $query = $this->db->get("wakasann_config");
        $result = $query->row_array();
        $query->free_result();
        if(empty($result[‘logo‘])){
            $this->re_array[‘state‘] = 0;
            $this->re_array[‘msg‘] = "Please upload App Logo";
            return $this->re_array;
        }else{
            $this->re_array[‘state‘] = 1;
            $this->re_array[‘msg‘] = $result[‘siteurl‘].‘/Tpl/Index/res/images/‘.$result[‘logo‘];
            return $this->re_array;
        }

    }

}

原理是,我们的控制器继承了Base类,在我们的控制器里面,可以和在CI中写ActiveRecord一样,CURD都可以,happy coding!



由于时间关系,codeigniter 独立出来的github下载地址,我暂时忘记了,日后再补上!

时间: 2024-11-07 02:28:33

Restler 使用CI的ActiveRecord的相关文章

详细说明php的4中开源框架(TP,CI,Laravel,Yii)

ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和自动填充功能,框架更新速度比较速度. 优点:这个框架易使用 易学 安全 对bae sae支持很好提供的工具也很强大 可以支持比较大的项目开发 易扩展 全中文文档 总的来说这款框架适合非常适合国人使用 性能 上比CI还要强一些 缺点:配置对有些人来说有些复杂(其实是因为没有认真的读过其框架源码)文档有

ci框架(一)

ci目录结构                                                                                    |-----system 框架程序目录 |-----core 框架的核心程序 |-----CodeIgniter.php 引导性文件 |-----Common.php 加载基类库的公共函数 |-----Controller.php 基控制器类文件:CI_Controller |-----Model.php 基模型类文件

再说“使用CI操作oracle 10g的单表增删改查”

--Control中的UseOra.php <?php if (!defined('BASEPATH'))    exit('No direct script access allowed'); class UseOra extends CI_Controller{ public function index()    {        echo '欢迎使用测试CI使用Oracle 10g 的功能,您可以在地址栏中使用如下的函数参数:<br>';        echo '=======

ci框架操作数据库基本方法

授课过程中如果涉及到文件夹或目录时,可使用缩进进行演示: application |-----libraries |-----xxx_helper.php system |-----libraries |-----url_helper.php --------------------------------------------------------------------------------------------------------------------------------

CI 学习笔记、记录

[ci框架]ci框架目录结构分析 分类: [CodeIgniter深入研究]2013-05-09 00:24 7420人阅读 评论(5) 收藏 举报 [php] view plaincopy myshop |-----system                框架程序目录 |-----core          框架的核心程序 |-----CodeIgniter.php   引导性文件 |-----Common.php    加载基类库的公共函数 |-----Controller.php   

CI框架源码阅读笔记3 全局函数Common.php

从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index

后盾网-CI框架学习笔记

CI框架: 表单验证: 载入验证类 $this->load->library('form_validation'); 设置规则 $this->form_validation->set_rules('name值','规则'); 执行验证 $this->form_validation->run() 表单验证辅助函数: $this->load->helper('form'); 1. set_value('name') //重填数据 2. form_error('n

框架-ci一般建站

新框架怎样入手 所有框架都是MVC模型. 下载手册,边看边练习 CI框架:1,了解顺序: 1.控制器(controller)的使用和开发,调用URL 2.视图(html+标签语言) 3.模型,用的比较少2,CRUD(增删改查) 用框架实现一张表的增删改查 a.如何操作数据库 b.页面之间是如何跳转的 c.控制器之间是如何相互调用的 d.视图中如何调用控制器3.框架是否提供辅助类来简化开发(cookie,session,分页等) 设置网站的根 application/config/config.p

【铜】第174-9篇 一对一视频录制(九)一对多学生端删除白板及nginx下配CI

关键词:webm文件在手机端播放, 一对多学生端删除白板, nginx下配CI 一.一对一视频录制 1.1.webm文件在手机端播放 1)在PC上 a.)用谷歌浏览器播放 http://123.57.206.36:8014/uploads/177013288141499069939723.webm 2)手机端播放 二.一对多 2.1 网址 1)备份上 老师端:https://123.57.206.36:9101/demos/index.html?roomid=888&teaNameMobile=