for 发表于 2016-12-5 15:32:23

Library载入的问题

下载了支付宝服务器版本的SDK,做了一点修改

http://aopsdkdownload.cn-hangzhou.alipay-pub.aliyun-inc.com/SDK/SDK_PHP.zip?spm=a219a.7629140.0.0.JOHJGG&file=SDK_PHP.zip

将整个文件夹命名为 Alipay 放到 ci 的 libraries 文件夹,同时,同时增加了一个文件在libraries里Alipay.php


<?php

include "Alipay/AopSdk.php";

class Alipay {
    public function __construct() {

    }
}



在Alipay这个文件夹里,增加了一个 Autoloader.php 的文件


<?php

class Autoloader{
/**
   * 类库自动加载,写死路径,确保不加载其他文件。
   * @param string $class 对象类名
   * @return void
   */
    public static function autoload($class) {
      $name = $class;
      if(false !== strpos($name,'\\')){
          $name = strstr($class, '\\', true);
      }

      $filename = TOP_AUTOLOADER_PATH."/aop/".$name.".php";
      if(is_file($filename)) {
            include $filename;
            return;
      }

      $filename = TOP_AUTOLOADER_PATH."/aop/request/".$name.".php";
      if(is_file($filename)) {
            include $filename;
            return;
      }      
    }
}

// public static function register()
// {
//   spl_autoload_register(array(new self(), 'autoload'));
// }

spl_autoload_register('Autoloader::autoload');
?>



并且修改了下AopSdk.php 文件

<?php
/**
* AOP SDK 入口文件
* 请不要修改这个文件,除非你知道怎样修改以及怎样恢复
* @author wuxiao
*/

/**
* 定义常量开始
* 在include("AopSdk.php")之前定义这些常量,不要直接修改本文件,以利于升级覆盖
*/
/**
* SDK工作目录
* 存放日志,AOP缓存数据
*/
if (!defined("AOP_SDK_WORK_DIR"))
{
        define("AOP_SDK_WORK_DIR", "/tmp/");
}
/**
* 是否处于开发模式
* 在你自己电脑上开发程序的时候千万不要设为false,以免缓存造成你的代码修改了不生效
* 部署到生产环境正式运营后,如果性能压力大,可以把此常量设定为false,能提高运行速度(对应的代价就是你下次升级程序时要清一下缓存)
*/
if (!defined("AOP_SDK_DEV_MODE"))
{
        define("AOP_SDK_DEV_MODE", true);
}
/**
* 定义常量结束
*/

/**
* 注册autoLoader,此注册autoLoader只加载aop文件
* 不要删除,除非你自己加载文件。
**/
require("Autoloader.php");



当在controller里调用

$this->load->library('Alipay');
$c = new AopClient;


总是提示 AopClient 不存在,请问我那些写错了。


Hex 发表于 2016-12-6 14:05:35

有没有其他报错?截图看下?
页: [1]
查看完整版本: Library载入的问题