codeigniter中app\Libraries加载方法

文件中找不到Libraries的加载,如何设置才符合CI4的规则?

Config/Autoload.php 修改这个文件中的:

$classmap = [
'Requests'  => APPPATH . 'Libraries/Requests.php'
]; 

  

注意,两个Libraries.php 的Libraries包含,第一个目的是为了能自动找到sdk中的类, 第二个目的是为了能自动找到Libraries下的类文件。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

require APPPATH.'third_party/predis111/autoload.php';

require APPPATH."libraries/predis/autoload.php";

 

class Predis{

 

  private $_redis = null;

  public function __construct(){

    $CI = &get_instance();

    $CI ->config->load('predis',TRUE);

    $predis_config = $CI ->config->item('predis','predis');

    

    $host = isset($predis_config['default']['host']) ? $predis_config['default']['host'] : null;

    $port = isset($predis_config['default']['port']) ? $predis_config['default']['port'] : null;

    if(empty($host) || empty($port)){

      exit('predis config error');

    }

    

    

    $this->_redis = new Predis\Client(array(

      'host'=> $host,

      'port' => $port

    ));

 

    try{

      $this->_redis->connect();

    }catch(Predis\Connection\ConnectionException $e){

      echo 'Predis connect redis-server has exception! Message:'.$e->getMessage();

      exit();

    }

    

  }

  

  public function __call($name,$args){

    $callback = array($this->_redis,$name);

    return call_user_func_array($callback,$args);

  }

}

猜你喜欢

转载自www.cnblogs.com/maisui1234/p/10361484.html