使用{domain}通配符时,有没有办法全局设置路由([' domain' => $ domain])属性(不是在功能级别)

时间:2018-03-03 03:30:15

标签: laravel laravel-5.5

Laravel 5.5

在RouteServiceProvider中使用{domain}

我希望能够在刀片中调用命名路由而无需传递

public function pageName($domain){ return view('mypage', ['domain'=>$domain,'othervars'=>$domain)]) }

并避免刀片中的这个混乱:

{{ route('nameOfRoute', ['domain'=>$domain]) }}

相反,我希望只是在我的路由组中将route(['domain'])属性设置为$ domain并完成它。

1 个答案:

答案 0 :(得分:0)

没有全局方式来设置它,而是使用我自己的帮助函数包装route('name')默认帮助函数,并将该参数添加到数组中。

示例功能:

function orgRoute($route, $params = [])
{
    if (!is_array($params)){
        $params = [$params];
    }

    // Set the domain value if not set, null, or jibberish
    if (!isset($params['domain']) || $params['domain']=='{domain}' || $params['domain'] == '')
    {
        // Instance of App Domain is set in OrgBaseController __construct()
        $domain = \App::make('current_domain');
        $params['domain'] = $domain;
    }


    return route($route, $params);
}