我试图将变量值从库函数传递到控制器,然后查看以获取输出。
我的库代码:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* @description : Library to access MyOperator Public API
*/
Class My_Operator extends Admin_controller{
protected $developers_url = 'https://developers.myoperator.co/';
protected $token = 'XXXXXXXXX';
function __construct() {
}
public function run() {
# request for Logs
$url = $this->developers_url . 'search';
$fields = array("token" => $this->token);
$result = $this->_post_api($fields, $url);
$this->log("result");
$this->log($result);
}
private function _post_api(Array $fields, $url) {
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($ch);
} catch (Exception $e) {
return false;
}
$this->log("url");
$this->log($url);
$this->log("fields");
$this->log($fields);
curl_close($ch);
if ($result)
return $result;
else
return false;
}
private function log($message) {
print_r($message);
echo "n";
}
}
从核心文件扩展了extends Admin_controller
。
我的控制器代码是:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Myoperator extends Admin_controller
{
public function __construct()
{
parent::__construct();
//$this->load->model('myoperator_model');
}
public function index()
{
try {
$this->load->library('my_operator');
$data = $this->my_operator->run();
} catch (Exception $e) {
var_dump($e->getMessage());
}
$this->load->view('admin/myoperator/view', $data);
}
}
我的视图代码是:
<?php init_head(); ?>
<div id="wrapper">
<div>
<?php
echo $this->MY_Operator->run();
?>
</div>
</div>
<?php init_tail(); ?>
</body>
</html>
我不会获得所需的输出。为此,我提出:
CodeIgniter数据通过控制器 - &gt; library-&gt; view
将数据从库传递到控制器,然后在Codeigniter 2中查看
将参数从视图传递到库,然后返回过程代码点燃
当我运行此代码时,我有一个错误
此页面目前无法处理该页面 要求。HTTP错误500
根据我的理解,如果服务器配置有任何问题,则会出现此error
,但是来自同一应用程序的其他页面都可以完美运行。
编辑:以前的错误解决了一些链接问题,但是当我扩展该类时,会产生新的错误:
无法找到指定的类:session.php
是否可以将核心文件类扩展到库类?
请帮助我解决这个问题。任何形式的帮助都将受到赞赏。提前致谢。
解决了我的问题,只需忘记将Admin_controller
文件包括在Myoperator
控制器文件中。
这是我的更新代码:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH. 'core/Admin_controller.php'; //forgot this line of code
class Myoperator extends Admin_controller
{
public function __construct()
{
parent::__construct();
//$this->load->model('myoperator_model');
}
public function index()
{
try {
$this->load->library('my_operator');
$data = $this->my_operator->run();
} catch (Exception $e) {
var_dump($e->getMessage());
}
$this->load->view('admin/myoperator/view', $data);
}
}
您无法从库中扩展core
CI类
您可以创建全新的库。
您可以扩展本机库。
您可以替换本机库。
有关更多信息,请参见Codeigniter库
使用
在库中使用coreCI files
。 $CI =& get_instance();
然后使用$CI
加载所需的核心文件。