Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未为域密钥触发Laravel路由服务提供程序_Laravel_Routing_Laravel 5_Service Provider - Fatal编程技术网

未为域密钥触发Laravel路由服务提供程序

未为域密钥触发Laravel路由服务提供程序,laravel,routing,laravel-5,service-provider,Laravel,Routing,Laravel 5,Service Provider,我正在创建一个SaaS应用程序(谁不是?),和大多数SaaS应用程序一样,我采用了考虑子域的方法。我的路由文件如下所示: $router->group(['domain' => '{account}.example.com'], function($router) { $router->get('/', function() { return response('Hello, world.'); }); }); 然后,我决定在我的Rou

我正在创建一个SaaS应用程序(谁不是?),和大多数SaaS应用程序一样,我采用了考虑子域的方法。我的路由文件如下所示:

$router->group(['domain' => '{account}.example.com'], function($router)
{
    $router->get('/', function()
    {
        return response('Hello, world.');
    });
});
然后,我决定在我的
RouteServiceProvider
文件中添加一些路由参数验证和绑定:

public function boot(Router $router)
{
    parent::boot($router);

    $router->pattern('account', '[a-z0-9]+');

    $router->bind('account', function($subdomain)
    {
        return Account::whereSubdomain($subdomain)->firstOrFail();
    });
}
然而,这些似乎实际上并没有被触发。我知道这一点,因为我可以在
bind
调用中放置类似于
dd('here?')
的内容,而且它从未被触发。我还可以将我的
帐户
模式过滤器减少为类似
[0-9]+
的内容,如果我在子域中包含字母,它仍然会匹配


我做错了什么?如何让路由模式和绑定在路由组的
键中的变量上工作?

将所有绑定移动到
映射
方法(而不是
引导
)中,模式过滤器需要进入路由组定义内部,如下所示:

$router->group(['domain' => '{account}.example.com'], function($router)
{
    $router->pattern('account', '[a-z0-9]+');

    $router->get('/', function()
    {
        return response('Hello, world.');
    });
});

这并不理想,因此任何人都知道如何在我的
RouteServiceProvider
类中保留过滤模式,这样它们就不会乱放在我的routes文件中,那么我很想听听您的意见。

提供商是否加载在
config/app.php
?@ceejayoz是的。它只是一个标准的Laravel应用程序,我没有删除默认的
RouteServiceProvider