dongmangji0950 2015-05-17 20:10
浏览 65

too long

Please dont`t ask why I have more than one controller: this is what my teacher wants. I have 3 controllers: Api.php, Token.php and Apikey.php, where Api.php is the "main" one.

PROBLEM: When I pass into the URL: http://localhost/revolution/index.php/api/registerUser/first_name/12First

it seems there are problems with loading the Token controller from Api controller.

ERROR: Fatal error: Call to a member function generateToken() on null

What can I do?

API Controller: Api.php

class api extends CI_Controller {


    public function index()
    {

        parent::__construct();
        $this->load->library("../controllers/Apikey.php");
        $this->load->library("../controllers/Token.php");

    }

    public function registerUser ($username,$parola)
    {
        if ($this->isValidUserName($username) && $this->isValidPass($parola)) {
            $this->load->library("../controllers/Token");
            $id = $this->ApiModel->insertCredentials($username, md5($parola));
            $this->Token->generateToken($id);
            $this->ApiKey->generateApiKey($id);

            $data['registered'] = 1;
            $this->load->view('api', $data);
        }
    }
}

Controller Token.php

 public function existsToken($token)
    {
        $arrayTokens = $this->ApiModel->getAllTokens();

        if (in_array($token, $arrayTokens))
            return existsToken(sha1($this->randomString())); //$this->isValidToken(sha1($this->randomString()));

        return $token;
    }

    public function randomString() {
        return intval(993432422 % rand());
    }

   public function generateToken($id_user)
    {
        $token = $this->existsToken(sha1($this->randomString()));       
        $date = $this->generateExpDate();
        $result = $this->ApiModel->insertToken($token, $date, $id_user);    
    }
  • 写回答

1条回答 默认 最新

  • doucong3048 2017-03-02 11:57
    关注

    As codeignetor follows MVC pattern you can't call a controller function in other controller. However you can do this by using function helper and call the function from function helper in any controller.

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题