Статические переменные Codeigniter в модели

Как только пользователь зарегистрировался, я хочу, чтобы все мои модели знали идентификатор пользователя. (Даже если они называются позже).

Я думал об использовании статической переменной, но она, похоже, не работает

class Base_model extends CI_Model {
    static protected $user_id;
}

class Log_in_model extends Base_model {
    public function log_in(){
        self::$user_id = 69;
    }
}

class A_model extends Base_model {
    public function do_A(){
        echo self::$user_id;
    }
}

class B_model extends Base_model {
    public function do_B(){
        echo self::$user_id;
    }
}
1
nl ja de
почему вы не используете сеанс ... ??
добавлено автор bipen, источник

1 ответы

начать сеанс

$this->load->library('session');

после входа пользователя пользователя, сохранить пользовательские данные в пользовательских данных сеанса

$newdata = array(
               'username'  => 'USERNAME',
               'email'     => 'EMAIL',
               'user_id'   => 'USERID',
               'logged_in' => TRUE
           );

$this->session->set_userdata('userdetails',$newdata);   //setting data in session with a name userdetails 

получить пользовательские данные сессии ..

 print_r($this->session->userdata('userdetails'));  //get userdetails from session

уничтожить пользовательские данные из сеанса.

$this->session->unset_userdata('userdetails'); 

если вы хотите больше узнать о сессии, тогда прочитайте это.

http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

0
добавлено
разве это не угроза безопасности, чтобы позволить пользователю внутри системы только на основе данных сеанса?
добавлено автор gilad s, источник
ОК спасибо вам, ребята
добавлено автор gilad s, источник
@ TheHorse сказал все это ... :)
добавлено автор bipen, источник
Неа. Вы можете защитить его с помощью $ config ['sess_encrypt_cookie'] = TRUE; $ config ['sess_use_database'] = TRUE;
добавлено автор TheHorse, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp