Closed Nks closed 8 years ago
@Nks I think Yii::$app->end();
is better solution than return false;
. What about it? May you try it?
@fps01 я думаю мы в любом случае не достигнем и return false
и Yii::$app->end()
так что по сути это будет излишним.
Вообще в идеале: если не сработал редирект - это ошибка, а человека перекинуть на урл в любом случае надо. Можно сгенерировать некий js код типа:
<script>
window.location='http://robokassa/payment/url';
</script>
В этом случае человек будет редиректнут 2мя способами, но, опять же, я думаю это лишнее. По крайней мере ни разу не сталкивался с проблемой, что человек не был редирекнут через заголовки.
@Nks, прикол в том, что $this->redirect
просто устанавливает заголовки, настоящего редиректа и прерывания выполнения тут не происходит, поэтому return false
всё сломает, а Yii::$app->end()
тут необходим, чтобы прервать выполнение и сформировать ответ с заголовками редиректа
@Nks Если мне не изменяет память, то $this->redirect()
не прекращает выполнение приложения, а просто изменяет данные в Yii::$app->response
. Таким образом, если после (например, в представлении) у нас будет код, то он выполнится, а это будет лишним в данном случае.
@fps01 хорошо, тогда пусть будет с Yii::$app->end()
.
@Nks ждем PR. И удали, пожалуйста файл installed.mark
из .gitignore
.
@fps01 сделано.
Thanks.
I this this issue may occur and in other payment method. When we trying to pay with this payment type it's must redirect us to other website here:
And in
pay
view we have thisIn this case we will get typecasting error when we try to echo redirect.