在CI框架中的配置整合amfphp

之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录:

一. 安装CI框架:

1.  搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wamp/www

2.  下载CI框架,在官网http://codeigniter.org.cn/downloads 下载 最新版本,解压打包。

3.   将CI文件架名称修改为ciamfphp,并存在到d:/wamp/www,开通虚拟域名,

     绑定HOST为: www.ciamfphp.cc,设置好之后访问此域名,如果见到CI框架的欢迎界面,说明搭建CI框架成功。

 

二.下载: amfPhp 1.9

     网址:http://downloads.sourceforge.net/project/amfphp/amfphp/amfphp%201.9.zip

三.配置amfphp

1. 解压到 d:\wamp\www 根目录下并重命名为amfphp

2.将amfphp复制到\wamp\www\ciamfphp\application\libraries\目录下

3. 在D:\wamp\www\ciamfphp\application\libraries\amfphp下,将amfphp 文件夹中的browser文件夹剪切到D:\wamp\www\ciamfphp根目录下

4. 打开文件D:\wamp\www\ciamfphp\amfphp\application\controllers,在其下建立一个名为amf_gateway.php的控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/** 
 * AMFPHP网关接口  
 */

class Amf_gateway extends CI_Controller
{       
    protected $gateway;           
    protected $amf_path = "libraries/";  //amf中间路径

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

    public function index()
    {

       /*
        * ---------------------------------------------------------------
        * 加载AMF框架入口文件
        * ---------------------------------------------------------------
        *
        * 只有index 方法为amf服务入口
        *
        */
        require realpath(APPPATH)."/{$this->amf_path}amfphp/globals.php";
        require realpath(APPPATH)."/{$this->amf_path}amfphp/core/amf/app/Gateway.php";
        define('AMFSERVICES', realpath(APPPATH)."/{$this->amf_path}amfphp/services");
    
        //调用全局验证控制器文件
        require AMFSERVICES.'/Crm_Controller.php';

        //实例化 网关
        $this->gateway = new Gateway();
        $this->gateway->setCharsetHandler("iconv", "UTF-8", "UTF-8");
        $this->gateway->setLooseMode();
        $this->gateway->setErrorHandling(E_ALL ^ E_NOTICE);
        $this->gateway->setClassMappingsPath(AMFSERVICES.'/vo'); 
        $this->gateway->setClassPath(AMFSERVICES);

        
        //分析错误
        if(PRODUCTION_SERVER)
        {
            //Disable profiling, remote tracing, and service browser
            $this->gateway->disableDebug();
        }
        
        return $this->gateway->service();
      }
      
}

/* Location: ./application/controllers/amf_gateway.php */

此时:D:\wamp\www\ciamfphp\application\libraries\amfphp\gateway.php文件多余,可以删除。

5. 修改D:\wamp\www\ciamfphp\下的.htaccess文件,允许访问browser文件夹

RewriteEngine on
RewriteCond $1 !^(index\.php|images|browser|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

四. 运行amfphp:

1. 访问 http://www.ciamfphp.cc/amf_gateway/ 

出现如上提示,则说明设置gateway成功。

2.  打开D:\wamp\www\ciamfphp\application\libraries\amfphp\services文件夹,建立common_controller.php,代码如下:

//主控制器
class Common_Controller extends CI_Controller
{ 
    //other code...
}

至此,这里就可以做一系列的开发操作了。

3. 此时访问www.ciamfphp.cc/browser后,点击  “settings”图标,

   设置下:Gateway location为http://www.ciamfphp.cc/amf_gateway/,点击保存就可以操作了

 

posted @ 2013-11-25 11:39  WhoAmMe  阅读(983)  评论(0编辑  收藏  举报