Laravel 4:创建默认路由 - php

我试图在我的Laravel 4 REST API中创建一个默认路由,当其他定义的路由均不符合请求时,该默认路由会返回特定错误给调用者。

这可能吗?不幸的是,我没有在文档中找到任何内容,因此我尝试并使用通配符(*)作为我的routes.php中的最后一个Route定义,但这是行不通的。

Route::when("*", function(){
    throw new CustomizedException('Route not found...');
});

当我有这条路线并执行artisan routes时,会出现异常:
{"error":{"type":"ErrorException","message":"Object of class Closure could not be converted to string","file":"\/Applications\/MAMP\/htdocs\/CampaigningTools\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/Console\/RoutesCommand.php","line":153}}

调用不存在的路由不会触发我的自定义异常,但是会触发标准的异常:
{"error":{"type":"Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException","message":"","file":"\/Applications\/MAMP\/htdocs\/CampaigningTools\/vendor\/laravel\/framework\/src\/Illuminate\/Routing\/Router.php","line":1429}}

我还尝试使用any作为建议的in this post,但这也行不通:

Route::any( '(.*)', function( $page ){
    throw new ValidationException('Custom error');
});

当我呼叫一条不存在的路由时,此路由也不会触发。

任何提示,我做错了将不胜感激。

参考方案

如果没有匹配的路由,Laravel会抛出“ Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException”。您可以简单地编写自己的错误处理程序以捕获该异常并执行其他操作(请参见http://laravel.com/docs/errors)。

添加以下两个块之一(例如,在“应用程序错误处理程序”块的“ app / start / global.php”中):

App::error(function(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $exception, $code)
{
    // do something
});

要么:

App::missing(function($exception)
{
    // do something
});

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…

Laravel 5排序具有关系的雄辩模型 - php

我有一个要基于关系属性进行排序的模型。主模型Resultado具有类型respondente的关系belongsTo,而respondente具有关系usuario。我想获取具有这些关系的Resultado并按usuario name属性(列)对结果进行排序。我试过了$resultados = Diagnostico\Resultado::with(…

Laravel Blade模板尝试获取非对象的属性时如何返回null而不是ErrorException - php

我正在编写一些Laravel Blade模板,并且我的模型可能包含空对象。我非常想尝试获取对象属性,如果有错误,则返回null。因此,不必编写以下代码:@if ($model->child_object_that_may_be_null) {{ $model->child_object_that_may_be_null->interesti…

Laravel-无需登录即可认证用户 - php

在laravel 5.4中,可以在不登录用户的情况下对用户进行身份验证吗?从laravel doc中,我能找到的最接近的东西是:Auth::once($credentials) 但这仍然使该用户感到厌烦。我需要做的就是只是知道使用该电子邮件和密码的用户是否存在。 参考方案 您可以将Auth::attempt函数与第三个参数用作false进行登录 $email…

Laravel 5错误报告抑制 - php

在Laravel 4中,抑制E_NOTICE消息很容易;我似乎无法做到这一点,因为如果我添加error_reporting(E_ALL ^ E_NOTICE) 它只是被覆盖的任何地方。这似乎发生在这里:(index.php)$response = $kernel->handle( $request = Illuminate\Http\Request::…