CI框架整合yar
第一步:在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的更多相关文章
- Ci框架整合smarty模板引擎
Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...
- CI框架整合UEditor编辑器上传功能
最近项目中要使用到富文本编辑器,选用了功能强大的UEditor,接下来就来讲讲UEditor编辑器的上传功能整合. 本文UEditor版本:ueditor1_4_3_utf8_php版本 第一步:部署 ...
- CI框架整合微信公共平台接口
#CI框架控制器 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /*** CI框架整合微信 ...
- 在CI框架中的配置整合amfphp
之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1. 搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...
- ci框架与smarty的整合
ci框架与smarty的整合 来源:未知 时间:2014-10-20 11:38 阅读数:108 作者:xbdadmin [导读] Ci 和 smarty 的完美结合 Ci 结合 sma ...
- **【ci框架】精通CodeIgniter框架
http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架 ...
- CI框架大纲总结
一.大纲 1.codeigniter框架的授课内容安排 2.codeigniter框架的简介 |-----关于框架的概念 |-----使用CI框架的好处 |-----为什么选择CI框架 3.codei ...
- php ci框架中载入css和js文件失败的原因及解决方法
在将html页面整合到ci框架里面的时候,载入css和js失败. 原因是ci框架是入口的框架 对框架中文件的全部请求都须要经过index.php处理完毕,当载入外部的css和js文件的时候要使 用ba ...
- RabbitMQ与Spring的框架整合之Spring Boot实战
1.RabbitMQ与Spring的框架整合之Spring Boot实战. 首先创建maven项目的RabbitMQ的消息生产者rabbitmq-springboot-provider项目,配置pom ...
随机推荐
- Python模块应用 (linecache)
linecache linecache是专门支持读取大文件,而且支持行式读取的函数库. linecache 预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取.对于大文件的读取效率还不错 ...
- iOS真机运行 Xcode报错(libpng error: CgBI: unhandled critical chunk)问题已解决;
Cocos2d-x加载图片资源出现libpng error: CgBI: unhandled critical chunk Xcode7.3 设置Remove Text Metadata From P ...
- eclipse配置项目
project facets -> dynamic web module 2.5 java -> 1.6 deployment assembly -> webapp Web Proj ...
- Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
一.Git是什么? Git --- The stupid content tracker, 傻瓜内容跟踪器.Git是目前世界上最先进的分布式版本控制系统. 二.SVN与Git的最主要的区别? ...
- ElasticSearch 入门笔记1
1. 起步 1. 建demo工程,看文档,做典型demo 2. 资源列表: http://es.xiaoleilu.com/010_Intro/10_Installing_ES.html 3. 启动: ...
- IE中cookie问题,带下划线的前置域名会不给设cookie,谷歌和火狐浏览器则不受影响
!! WARNING !!: Server hostname contains an underscore and this response sets a cookie. Internet Expl ...
- 搜索引擎Solr系列(一): Solr6.2.1环境搭建
一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通 ...
- Leetcode: Ones and Zeroes
In the computer world, use restricted resource you have to generate maximum benefit is what we alway ...
- java 关键字 assert的学习
之前在学习java源码时,发现了assert这个不常用的关键字.下面直接来介绍下这个关键字的使用. assert是什么? 它是jdk1.4之后新增加的关键字,没了. assert的作用是什么? ass ...
- Android中top命令字段含义
PID PR CPU% S #THR VSS RSS PCY UID Name 1 ...