Как установить куки в пользовательской библиотеке в codeigniter? - PullRequest
0 голосов
/ 13 апреля 2019

Здравствуйте, я пытаюсь установить cookie в моей пользовательской библиотеке CI_Snippetfunctions что-то вроде этого

class CI_Snippetfunctions
{

public function add_count($slug)
{



  $check_visitor = $this->input->cookie(urldecode($slug), FALSE);

   $ip = $this->input->ip_address();

   if ($check_visitor == false) {
    $cookie = array(
        "name"   => urldecode($slug),
        "value"  => "$ip",
        "expire" =>  time() + 7200,
        "secure" => false
    );

    $this->input->set_cookie($cookie);
    $this->Constant_model->update_counter(urldecode($slug));
    }
   }
  }

Но я получаю следующую ошибку

enter image description here

1 Ответ

1 голос
/ 13 апреля 2019

Попробуйте, я не уверен, но все же

public function add_count($slug)
{
    $CI =& get_instance();//CI super object
    $check_visitor = $CI->input->cookie(urldecode($slug), FALSE);

    $ip = $CI->input->ip_address();

    if ($check_visitor == false) {
        $cookie = array(
            "name"   => urldecode($slug),
            "value"  => "$ip",
            "expire" =>  time() + 7200,
            "secure" => false
        );

        $CI->input->set_cookie($cookie);
        $CI->Constant_model->update_counter(urldecode($slug));
    }
}

Чтобы получить доступ к собственным ресурсам CodeIgniter в вашей библиотеке, используйте метод get_instance (). Этот метод возвращает суперобъект CodeIgniter.

Обычно из методов вашего контроллера вы вызываете любой из доступных методов CodeIgniter, используя конструкцию $ this

$ это, однако, работает только внутри ваших контроллеров, ваших моделей или ваших представлений. Если вы хотите использовать классы CodeIgniter из своих собственных пользовательских классов, вы можете сделать это следующим образом:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...