首页 > 解决方案 > 在 PHP 条件表达式的结尾处 return 做了什么?

问题描述

我正在分析 PHP 代码,但我无法理解最后返回的条件的逻辑。

Route::domain('{name}.{domain}.{tls}')->group(function () {
    $settings = App::make(\Common\Settings\Settings::class);
    $appUrl = config('app.url');
    $currentUrl = \Request::url();
    if ($appUrl === $currentUrl || !$settings->get('builder.enable_subdomains')) return; //<- Here
    Route::get('{page?}', 'UserSiteController@show')->name('user-site-subdomain');
});

我需要了解执行第 6 行的情况是什么,但显然返回改变了一切。

欢迎任何澄清或一些更具说明性的例子。

标签: phpif-statementreturnoperators

解决方案


它立即结束此功能以防止

Route::get('{page?}', 'UserSiteController@show')->name('user-site-subdomain');

如果条件满足,则不会被执行

if ($appUrl === $currentUrl || !$settings->get('builder.enable_subdomains'))

满足($appUrl === $currentUrl !$settings->get('builder.enable_subdomains')等于真)。就像您通常使用 for eg 结束一个函数一样return 4;,但您不返回任何值。


推荐阅读