В PHP я знаю, что многие люди будут использовать класс для SET и GET переменных сеанса, я делаю это сейчас во многих классах, мне нужно знать, если я делаю это неправильно, хотя.
Так, например, давайте представим, что у меня есть класс A, который должен использовать это
$session->get('user_id')
Который получает это значение
$_SESSION['user_id']
Теперь в этом классе, если у меня есть 15 методов, и в каждом методе мне нужно получить доступ к этому значению несколько раз, в настоящее время я вызываю $ session-> get ('user_id') в классе 20 раз, если это необходимо 20 раз Должен ли я установить это 1 раз на класс локальной переменной для этого класса, а затем получить к нему доступ? Я не уверен, имеет ли это какое-то значение или нет, моя теория состоит в том, что способ, которым я делаю это сейчас, - это 20 дополнительных вызовов функций, которых можно было бы избежать?
Если моя теория верна, как лучше всего хранить эти значения внутри класса? Как частная или публичная или защищенная переменная?
Спасибо, извините за любые неудобства, уроки и предметы занимают у меня некоторое время, чтобы выучить.
Также обратите внимание, что $ session-> get ('user_id') - это всего лишь 1 из многих РАЗНЫХ переменных, с которыми мне нужно было бы сделать то же самое.
UPDATE
После прочтения сообщения Chacha102 об использовании массива () ... вот что я попробовал, это выглядит как хороший способ или все еще может быть улучшено?
файл класса
<?PHP
class User
{
// Load user details into an Array
public function load_user()
{
$this->user_id = $this->session->get('user_id');
//if user ID is already set, then Load the cached urser data
if(isset($this->user_id) && $this->user_id != ''){
// set user data to an array
$this->user['user_id'] = $this->user_id;
$this->user['user_name'] = $this->session->get('user_name');
$this->user['pic_small'] = $this->session->get('pic_small');
$this->user['sex'] = $this->session->get('sex');
$this->user['user_role'] = $this->session->get('user_role');
$this->user['location_lat'] = $this->session->get('location_lat');
$this->user['location_long'] = $this->session->get('location_long');
$this->user['new_user'] = $this->session->get('new_user');
return $this->user;
}
}
}
?>
файл главной страницы
<?PHP
require 'user.class.php';
$user = new User;
// if a user_id is set into a session variable then we return an array of other user related data
$user->account = $user->load_user();
// would show the user's ID from our array
echo $user->account['user_id'];
?>