请dont`t问我为什么有一个以上的控制器:这是我的老师想要什么。 我有3个控制器:Api.php,Token.php和Apikey.php,其中Api.php是“主”之一。
问题 :当我进入的网址 : HTTP://localhost/revolution/index.php/api/registerUser/first_name/12First
它似乎有与加载从AP控制器令牌控制器问题。
错误:致命错误:调用到空的成员函数的generateToken()
我能做什么?
API控制器: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);
}
}
}
控制器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);
}