У меня есть следующее приложение CodeIgniter, в котором я пытаюсь прочитать внешний контроллер JSON в контроллере и передать его в мою модельную функцию getKey()
и, наконец, передать данные, возвращенные из этой функции на мой взгляд. Я продолжаю получать сообщение об ошибке «Ошибка PHP Parse: синтаксическая ошибка, неожиданная« $ this »(T_VARIABLE), ожидающая функция (T_FUNCTION)», и я не уверен, что ее вызывает. Я новичок в использовании CodeIgniter, поэтому любая помощь приветствуется.Передача данных JSON от контроллера к модели
Мой контроллер:
class Test extends CI_Controller{
public function __construct(){
parent::__construct();
}
var $test_id = 1;
var $json_key;
$this->load->model('Test_model');
$json_key = $this->test_model->getKey($test_id);
$json_key = json_decode($json_key);
$data['test_key'] = $json_key;
$this->load->view('test_view', $data);
}
Моя модель:
class Test_model extends CI_Model{
var $image_array = array();
var $test_key = array();
var $test_name = '';
public function __construct(){
parent::__construct();
}
public function getKey($test_id){
switch($test_id){
case 1:
$test_name = "sample1";
break;
case 2:
$test_name = "sample2";
break;
case 3:
$test_name = "sample3";
break;
}
$image_array = file_get_contents('../files/' . $$test_name . '_key.json');
$test_key = shuffle($image_array);
return $image_array;
}
}
Мое мнение:
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Test Screen</h1>
<?php print_r($test_key); ?>
<?php print_r($json_key); ?>
</body>
</html>
Спасибо заранее.
Это, безусловно, правильно, однако, после внесения изменений, я все еще получаю ту же ошибку, только теперь она уже не указывает $ переменная, но вместо этого указывает на «вар» на линии 10. Какие-нибудь идеи почему? – jldavis76
'var' не может быть в функции. Вы можете просто оставить «var». Здесь нет необходимости в переменных класса. Вы можете просто использовать локальную переменную. Я уточню свой ответ. – Mischa
Спасибо, что работает! – jldavis76