将变量值从库到控制器,然后在CI 3.0中查看



我试图将变量值从库函数传递到控制器,然后查看以获取输出。

我的库代码:

<?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库

使用

在库中使用core CI files
$CI =& get_instance();

然后使用$CI加载所需的核心文件。

相关内容

最新更新