Вызов функции-члена при нулевой ошибке CodeIgniter

Пожалуйста, не спрашивайте, почему у меня более одного контроллера: это то, чего хочет мой учитель.
У меня есть 3 контроллера: Api.php, Token.php а также Apikey.php, где Api.php является «основным».

ПРОБЛЕМА: Когда я перехожу в URL: Http: //localhost/revolution/index.php/api/registerUser/first_name/12First

кажется, есть проблемы с загрузкой знак контроллер из Api контроллер.

ОШИБКА: Неустранимая ошибка: вызов функции-члена generateToken () со значением NULL

Что я могу сделать?

Контроллер 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);
}

1

Решение

Поскольку codeignetor следует шаблону MVC, вы не можете вызывать функцию контроллера в другом контроллере. Однако вы можете сделать это с помощью функции helper и вызвать функцию из функции helper в любом контроллере.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]