функция не работает должным образом? (Аутентификация танка)

Может кто-нибудь объяснить, почему существует разница между

function foo($a){$blah = $a}.......
foo($CONSTANT); 

а также

function foo() { $blah = $CONSTANT}.......
foo();

У меня верхний метод работает, другой нет. В частности, ниже показано, что оператор if является ложным:

$this->setsession($user->id,$user->email, ($user->activated == 1) ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED);

                        if ($user->activated == 0) {                            // fail - not activated
                            $this->error = array('not_activated' => '');

Хотя этот считает это правдой:

$this->setsession();

                        if ($user->activated == 0) {                            // fail - not activated
                            $this->error = array('not_activated' => '');

person mazlix    schedule 22.05.2011    source источник
comment
Ваши фрагменты кода не имеют смысла. У обоих одинаковые вторая и третья строки. Если вы не изменяете значение $user->activated внутри setSession(), код не должен давать сбоев. Не могли бы вы почистить код?   -  person JohnP    schedule 22.05.2011
comment
Извините за плохую формулировку, я не мог найти способ объяснить это на самом деле, так как я даже не знал, в чем проблема. Я исправил свой фактический код, спасибо!   -  person mazlix    schedule 22.05.2011


Ответы (1)


Извините за плохо написанный вопрос. Разница заключается в области действия переменной, мне нужно передать переменные, потому что на те, которые я вызывал, нельзя было сослаться.

person mazlix    schedule 22.05.2011