第一步:在CI框架中libraries目录下建立yar.php 文件

内容:

  1. <?php
  2. /**
  3. * yar 接口
  4. */
  5. class Yar
  6. {
  7. /**
  8. * 构造函数
  9. *
  10. * @return void
  11. * @throws Exception
  12. * @access public
  13. */
  14. public function __construct ()
  15. {
  16. }
  17. /**
  18. * 接口
  19. *
  20. * @return void
  21. * @throws Exception
  22. * @access public
  23. */
  24. public function yarApi ( array $condition )
  25. {
  26. $default = array(
  27. // 服务器地址 'url'=>'http://admin.com/rpc/',
  28. 'url'=>'http://localhost/rpc/',
  29. 'model'=>'',//model名称
  30. );
  31. $condition = array_merge($default,$condition);
  32. return new Yar_Client("{$condition['url']}{$condition['model']}");
  33. }
  34.  
  35. }

2.在配置文件中添加yar让CI 自动加载

config目录下autoload.php文件

修改:

  1. $autoload['libraries'] = array('yar');

3.在api服务端也是CI框架建立Rpc.php控制器

内容:

  1. <?php
  2. /**
  3. * rpc接口
  4. * Created by PhpStorm.
  5. * User: hteen
  6. * Date: 16/6/24
  7. * Time: 下午4:39
  8. */
  9. class Rpc extends CI_Controller {
  10.  
  11. public function index( $model ){
  12.  
  13. if (!$this->_auth())
  14. show_error('error',);
  15.  
  16. try {
  17. $this->load->model($model);
  18. }catch ( Exception $e ){
  19.  
  20. log_message('error','rpc load model error , model name is '.$model);
  21. show_error('load model error',);
  22. }
  23.  
  24. $service = new Yar_Server( new $model );
  25. $service->handle();
  26. }
  27.  
  28. /**
  29. * 权限认证
  30. * @author hteen
  31. * @return bool
  32. */
  33. private function _auth(){
  34.  
  35. // TODO:RPC权限验证
  36. return true;
  37. }
  38.  
  39. }

4.使用yar

在控制器中使用yar 访问api接口

例如:

  1. //实例化对象
  2. $ActivityModel = $this->yar->yarApi(['model' => 'ActivityModel']);
  3. //调用方法
  4. $active_info = $ActivityModel->getinfo($id);

CI框架整合yar的更多相关文章

  1. Ci框架整合smarty模板引擎

    Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...

  2. CI框架整合UEditor编辑器上传功能

    最近项目中要使用到富文本编辑器,选用了功能强大的UEditor,接下来就来讲讲UEditor编辑器的上传功能整合. 本文UEditor版本:ueditor1_4_3_utf8_php版本 第一步:部署 ...

  3. CI框架整合微信公共平台接口

    #CI框架控制器 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /*** CI框架整合微信 ...

  4. 在CI框架中的配置整合amfphp

    之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1.  搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...

  5. ci框架与smarty的整合

    ci框架与smarty的整合 来源:未知    时间:2014-10-20 11:38   阅读数:108   作者:xbdadmin [导读] Ci 和 smarty 的完美结合 Ci 结合 sma ...

  6. **【ci框架】精通CodeIgniter框架

    http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架 ...

  7. CI框架大纲总结

    一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codei ...

  8. php ci框架中载入css和js文件失败的原因及解决方法

    在将html页面整合到ci框架里面的时候,载入css和js失败. 原因是ci框架是入口的框架 对框架中文件的全部请求都须要经过index.php处理完毕,当载入外部的css和js文件的时候要使 用ba ...

  9. RabbitMQ与Spring的框架整合之Spring Boot实战

    1.RabbitMQ与Spring的框架整合之Spring Boot实战. 首先创建maven项目的RabbitMQ的消息生产者rabbitmq-springboot-provider项目,配置pom ...

随机推荐

  1. Spring操作指南-AOP基本示例(基于XML)

  2. jQuery初始化加载的实现

    与jQuery事件模块的其他事件不同,其他事件是通过数据缓存实现的,而初始化事件,jQuery.ready则是通过回调函数列表实现的.$()的参数如果是函数就向回调函数列表中添加回调函数,同时为DOM ...

  3. iOS - UIButton设置文字标题下划线以及下划线颜色

    创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...

  4. ADO.NET、NHibernate和Entity Framework的比较

    ---原文地址:http://www.xuebuyuan.com/2162973.html 1,ADO.NET属于传统的数据访问工具,开发的时候需要我们手动去编写操作数据库的各种操作,当然性能也就不用 ...

  5. LDAP 中 CN, OU, DC 的含义

    1. LDAP的存储规则 区分名(DN,Distinguished Name) 和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别 ...

  6. UIBUTTON titlelabel.text 不显示

    button.titlelabel.text=@"查询";设置后运行发现没事正确显示. 查找后原来UIButton分状态的,textLabel不管用 [button setTitl ...

  7. JSON--JavaScript Object Notation

    概念 一种轻量级的数据交换格式,本质是特定格式的字符串,是客户端和服务器端交互数据的常用选择 规则 []集合 [value1,value2] {}对象 {key1:value1,key2,value2 ...

  8. linux-------------linux的scp

    scp是有Security的文件copy,基于ssh登录. 命令基本格式: scp [OPTIONS] file_source file_target OPTIONS: -v 和大多数 linux 命 ...

  9. 在线免费生成 <IDEA>全系列 注册码

    body { background: #fff; color: #333; font-family: Consolas, sans-serif; margin: 2em auto; width: 70 ...

  10. [原创]java WEB学习笔记109:Spring学习---spring中事物管理

    博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好 ...