Мой PHP приложение выглядит следующим образом:Можно ли использовать возврат, чтобы пропустить остаток файла php?
<?php
// File: index.php
// some code...
include('template/header.php');
// More code, for example:
echo "Subscribe to our newsletter here: ...";
и файл шаблона:
<?php
// File: template/header.php
$user = get_loggedin_user()
if (! $user) {
echo 'Please log in';
return; // Question is about this statement!
}
// Long PHP code follows, for simplicity reduce it to:
echo "You are logged in as $user";
Вы видите в состоянии в шаблоне/header.php я использую return
, чтобы пропустить заголовок, если пользователь не зарегистрирован Я не хочу использовать else
, потому что следующий код довольно длинный и вложен, поэтому я хочу избежать добавления другого уровня вложенности здесь ...
Это использование return
похоже на работу правильно на PHP 5,6
Вопрос:
- Правильно ли это, или есть более подходящий способ, чтобы пропустить оставшуюся часть файла заголовка?
- Вы знаете какие-либо уведомления/предупреждения/ошибки, которые PHP может здесь бросить?
Это возможно и "безопасно", хотя и не нормальный подход. Обычно у вас есть условие в действии вашего контроллера и имеет два разных вида: один для аутентифицированных пользователей, один для входа в систему. – arkascha
Я часто использую '$ config = include '/path/to/config.php';'. С ' Php return array ('foo' => 'bar);', как пример файла конфигурации. И это обычная практика. – Progrock
См. Http://stackoverflow.com/questions/1314162/return-from-include-file, и есть упоминание в примере примера php # 5: http://php.net/manual/en/function.include .php – Progrock