обновил класс. возник вопрос корректности

tf

крылья рулят
обновил класс. возник вопрос корректности

класс авторизации mysql+session
был конструтор к нему
PHP:
function __construct()
{ $this->dbt='USER';
  if(!isset($_SESSION['cabinet_user']))
      $this->is_valid=false;
  else
  { $id=unserialize($_SESSION['cabinet_user']);
    $this->is_valid=$this->check_auth_hash($id);
  }
}
стал
PHP:
function __construct()
{ $session_user=&$_SESSION['cabinet_user'];
  $this->dbt='USER';
  if(!isset($session_user))
      $this->is_valid=false;
  else
  { $id=unserialize($session_user);
    $this->is_valid=$this->check_auth_hash($id);
  }
}
:confused: я кон понимаю что ООП ради ООП туфта, но мне захотелоь смотреть на сессию как на неизветсный обект
 

moxnatiy

Новичок
не понял
1) в чем вопрос ?
2) в чем смысл изменения от кода 1 к коду 2 ?
3) зачем смотреть на сессию как на неизвестный обьект?
 

tf

крылья рулят
2. смысл никакого
3. во всем классе общатся к массиву $_SESSION['cabinet_user'] надоело
1. в заголовке написано корректность кода, т.к. смысл верный?нет
ладно забыли, просто мне скучно было )
теперь пока нет
да и unset($session_user) в деструкторе не прокатит(
 

nalevo

Новичок
сделай тады вместо
unset($session_user) -
$session_user = NULL;

Вообще если $_SESSION['cabinet_user'] - не существовало, то после $session_user=&$_SESSION['cabinet_user'] - $_SESSION['cabinet_user']=NULL
!
 

tf

крылья рулят
nalevo
вообще
PHP:
при $session_user = NULL;
 $_SESSION['cabinet_user'] => &NULL
и !==NULL
в принципе техника может подойти (к сож сессия так и будет видеть), осталось поэкспериментирвоать с базой на предмет выявлении чегонибуть плохого
 

nalevo

Новичок
php 5.0.4 - на всяк случай

$arr = array('a'=>array(1,2), 'b'=>array(5,6));
$d = &$arr['c'];
$d = NULL;
if($arr['c']===NULL) echo 'NULL';

выводит именно то.
 

tf

крылья рулят
nalevo
кон спасибо за тест, но у меня var_dump сказал именно &NULL
ну ладно очем это я. что-то меня занесло. мне ведь перестало нравился имя переменно в сессии.
(не стоит нагромаждать код якобы упрощая его)
PHP:
define('SESSION_USER','cabinet_user');
$_SESSION[SESSION_USER]
 

SiMM

Новичок
> так оно будет правильней
Зачем плодить сущности? Чтоб кавычки не рисовать? Смех да и только...
 

SiMM

Новичок
> define('SESSION_USER','cabinet_user');
> $_SESSION[SESSION_USER];
Какой в этом глубокий смысл?
 

tf

крылья рулят
SiMM
врятли там глубокий смысл. мне просто разонравилась имя переменной в сессии. ковырятся во всем классе сново когда разонравится другое имя желания не возникает(не один раз так делал). поэтому и определил имя константой. покачто на этом и остановился.
 

SiMM

Новичок
tf, а тебе не приходило в голову, что название константы SESSION_USER тебе тоже может разонравиться?
 

tf

крылья рулят
SiMM
кон может.. но с меньшей вероятностью: она написана большими буквами. название похоже на $_SESSION. подсвечивается таким приятным зеленым цветом.. хочеш предложить какую-нибуть идею как это можно исправить. кроме как сходит к психологу
 

SiMM

Новичок
> кон может.. но с меньшей верочтностью
А так что, с большей?
PHP:
$_SESSION['SESSION_USER'];
-~{}~ 31.10.05 13:00:

В общем, иди побрейся бритвой Оккама.
 
Сверху