CakePHP根据自定义数据源的用户输入更改数据库配置变量

CakePHP根据自定义数据源的用户输入更改数据库配置变量,php,api,cakephp,Php,Api,Cakephp,我正在寻找一种基于用户输入访问和更改数据库配置变量的方法。使用CakePHP,我根据文档中提供的数据源创建了一个自定义数据源,以访问外部API。API返回包含12个最新对象的JSON字符串。我需要能够更改API请求中的页码,以获得接下来的12个结果,并接受用户输入的自由文本查询 app/Config/Database.php class DATABASE_CONFIG { public $behance = array( 'datasource' => 'BehanceDatas

我正在寻找一种基于用户输入访问和更改数据库配置变量的方法。使用CakePHP,我根据文档中提供的数据源创建了一个自定义数据源,以访问外部API。API返回包含12个最新对象的JSON字符串。我需要能够更改API请求中的页码,以获得接下来的12个结果,并接受用户输入的自由文本查询

app/Config/Database.php

class DATABASE_CONFIG {

public $behance = array(
    'datasource' => 'BehanceDatasource',
    'api_key' => '123456789',
    'page' => '1',
    'text_query' => 'foo'
);

}
app/Model/Datasource/BehanceDataSource.php

App::uses('HttpSocket', 'Network/Http');

class BehanceDatasource extends DataSource {

    public $description = 'Beehance datasource';

    public $config = array(
        'api_key' => '',
        'page' => '',
        'text_query' => ''
    );


    public function __construct($config) {
        parent::__construct($config);
        $this->Http = new HttpSocket();
    }


    public function listSources($data = null) {
        return null;
    }



    public function describe($model) {
        return $this->_schema;
    }


    public function calculate(Model $model, $func, $params = array()) {
        return 'COUNT';
    }

    public function read(Model $model, $queryData = array(), $recursive = null) {

        if ($queryData['fields'] === 'COUNT') {
            return array(array(array('count' => 1)));
        }

        $queryData['conditions']['api_key'] = $this->config['api_key'];
        $queryData['conditions']['page'] = $this->config['page'];
        $queryData['conditions']['page'] = $this->config['text_query'];
        $json = $this->Http->get('http://www.behance.net/v2/projects', $queryData['conditions']);
        $res = json_decode($json, true);
        if (is_null($res)) {
            $error = json_last_error();
            throw new CakeException($error);
        }
        return array($model->alias => $res);

    }

}
是否有任何方法可以访问和更改$behance数组,或者是否有其他方法可以使用cakePHP访问我完全不知道的外部API