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

内容:

<?php
/**
* yar 接口
*/
class Yar
{
/**
* 构造函数
*
* @return void
* @throws Exception
* @access public
*/
public function __construct ()
{
}
/**
* 接口
*
* @return void
* @throws Exception
* @access public
*/
public function yarApi ( array $condition )
{
$default = array(
// 服务器地址 'url'=>'http://admin.com/rpc/',
'url'=>'http://localhost/rpc/',
'model'=>'',//model名称
);
$condition = array_merge($default,$condition);
return new Yar_Client("{$condition['url']}{$condition['model']}");
} }

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

config目录下autoload.php文件

修改:

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

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

内容:

<?php
/**
* rpc接口
* Created by PhpStorm.
* User: hteen
* Date: 16/6/24
* Time: 下午4:39
*/
class Rpc extends CI_Controller { public function index( $model ){ if (!$this->_auth())
show_error('error',); try {
$this->load->model($model);
}catch ( Exception $e ){ log_message('error','rpc load model error , model name is '.$model);
show_error('load model error',);
} $service = new Yar_Server( new $model );
$service->handle();
} /**
* 权限认证
* @author hteen
* @return bool
*/
private function _auth(){ // TODO:RPC权限验证
return true;
} }

4.使用yar

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

例如:

//实例化对象
$ActivityModel = $this->yar->yarApi(['model' => 'ActivityModel']);
//调用方法
$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. Python模块应用 (linecache)

    linecache linecache是专门支持读取大文件,而且支持行式读取的函数库. linecache 预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取.对于大文件的读取效率还不错 ...

  2. iOS真机运行 Xcode报错(libpng error: CgBI: unhandled critical chunk)问题已解决;

    Cocos2d-x加载图片资源出现libpng error: CgBI: unhandled critical chunk Xcode7.3 设置Remove Text Metadata From P ...

  3. eclipse配置项目

    project facets -> dynamic web module 2.5 java -> 1.6 deployment assembly -> webapp Web Proj ...

  4. Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)

    一.Git是什么?     Git --- The stupid content tracker, 傻瓜内容跟踪器.Git是目前世界上最先进的分布式版本控制系统. 二.SVN与Git的最主要的区别?  ...

  5. ElasticSearch 入门笔记1

    1. 起步 1. 建demo工程,看文档,做典型demo 2. 资源列表: http://es.xiaoleilu.com/010_Intro/10_Installing_ES.html 3. 启动: ...

  6. IE中cookie问题,带下划线的前置域名会不给设cookie,谷歌和火狐浏览器则不受影响

    !! WARNING !!: Server hostname contains an underscore and this response sets a cookie. Internet Expl ...

  7. 搜索引擎Solr系列(一): Solr6.2.1环境搭建

     一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通 ...

  8. Leetcode: Ones and Zeroes

    In the computer world, use restricted resource you have to generate maximum benefit is what we alway ...

  9. java 关键字 assert的学习

    之前在学习java源码时,发现了assert这个不常用的关键字.下面直接来介绍下这个关键字的使用. assert是什么? 它是jdk1.4之后新增加的关键字,没了. assert的作用是什么? ass ...

  10. Android中top命令字段含义

    PID       PR     CPU%      S       #THR           VSS        RSS       PCY           UID      Name 1 ...