首页
学习
活动
专区
圈层
工具
发布

使用 Laravel 5.5+ 更好的来实现 404 响应

在 laravel 5.5.10 中,我们有一个新的 Route::fallback() 方法,用于定义当没有其他路由与请求匹配时 Laravel 回退的路由。... @stop 当 Laravel 渲染这个回退(fallback)路由时,会运行所有的中间件,因此当你在 web.php 路由文件中定义了回退路由时,所有处在 web 中间件组的中间件都会被执行...; }); 由于 api 中间件组带有 /api 前缀,所有带有 /api 前缀的未定义的路由,都会进入到 api.php 路由文件中的回退路由,而不是 web.php 路由文件中所定义的那个。...使用 abort(404) 和 ModelNotFound 异常 当使用 abort(404) 时会抛出一个 NotFoundHttpException,此时处理器会为我们渲染出 404.blade.php...public function render($request, Exception $exception) { if ($exception instanceof NotFoundHttpException

3.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    怎么在 Laravel 中移除核心服务-视图

    code' => 200, 'msg' => 'hello' ]; }); 然后再访问8000端口 Laravel 然后我们开始注释config/app.php中的视图提供者...facade/ignition是一个漂亮的错误页面, 它依赖视图服务, 并且是自动注册的,所以我们要做的就是不要注册它...., 从Session中获取错误, 然后共享到视图里, 这里就会依赖视图服务, 我们注释掉这个中间件 然后再次访问首页 Laravel 如果Laravel版本低的话,Illuminate...render($request, Throwable $exception) { $code = 500; if ($exception instanceof NotFoundHttpException...这种时候我的建议是在config/app.php增加一个配置enable_admin, 然后判断当前环境是API移除掉不必要服务提供者,也不要启动后台的服务,具体可查看减少服务提供者的启动加速你服务的性能

    1.9K10

    【Laravel系列3.2】路由:指哪儿打哪儿

    另外,在更新的一些框架中,比如需要搭配 Swoole 的 Hyperf 框架中,已经支持 注解路由 这种形式了。大家有兴趣的可以去看一下,这个也是越来越靠近 Java 的一种写法。...传统框架中的控制器就是路由,如果想要动态地改变这个路由链接,那么要么改控制器的名字,要么去 nginx 上配置转发重写,都远不如框架中自带路由来得方便快捷。...Illuminate/Routing/RouteCollection.php 文件中的这个 RouteCollection 类,其实也就是调用的这个类的 match() 方法。...在 match() 方法里面, // laravel/framework/src/Illuminate/Routing/RouteCollection.php public function match...接下来,就回到路由文件中 temp 这个路由的回调函数中。之后就是响应的输出了。 整个路由功能的调用路径就是这样,其实相对来说没有请求响应的路径长,毕竟它只是请求响应路径中的一部分而已。

    13.2K10

    Laravel 开发 RESTful API 的一些心得

    laravel用的是中划线(-),因为谷歌收录时,按中划线划分关键字,国内的是按下划线(_)收录,具体看自己了,我是喜欢下划线 >_< 更多看这里: 路由命名规范 表单验证 可以使用控制器自带的表单验证...接口代码 能分离的代码都不要吝啬~~~ 数据转换 Laravel自带的API Resource 用起来真的很方便,不过发现一个问题,--collection的格式总是转不过来,后来直接放弃了 单个的使用...Resources 集合的使用Resources::collection()发现,特别好用 >_< 不得不说,多对多关联时,Laravel处理得太好了条件关联 Resources 在上面这个例子中...findOrFail($id); } // 甚至这样 public function show(User $user) { // do something } 下面这两个异常可以不捕获,只是方便开发中查看错误消息...NotFoundHttpException404路由找不到的异常,没什么好说的了 MethodNotAllowedHttpException这个是方法不对应,比如你是get路由,却post请求 文档

    1.4K10

    Laravel 开发 RESTful API 的一些心得

    路由的名字当然是RESTful的方式。 保持动词,复数形式,见名知义。 有些长的路由,应该用什么分隔呢?...laravel用的是中划线(-),因为谷歌收录时,按中划线划分关键字,国内的是按下划线(_)收录,具体看自己了,我是喜欢下划线 >_< 更多看这里: 路由命名规范(https://laravel-china.org...在上面这个例子中,如果关联没有被加载,则 posts 键将会在资源响应被发送给客户端之前被删除。 在有不确定是否输出关联数据时,这是一个很有用的功能!!!...findOrFail($id); } // 甚至这样 public function show(User $user) { // do something } 下面这两个异常可以不捕获,只是方便开发中查看错误消息...NotFoundHttpException404路由找不到的异常,没什么好说的了 MethodNotAllowedHttpException这个是方法不对应,比如你是get路由,却post请求 文档

    5K90

    Laravel5.3之Errors Tracking神器——Sentry

    class, ) php artisan vendor:publish --provider="Sentry\SentryLaravel\SentryLaravelServiceProvider" 在自己的程序中安装好包后...,然后点击左侧栏的Client Keys就行,把DSN值copy出来填入.env文件中(不是DSN Public值),Sentry_DSN结构是:https://{public_key}:{private_key...按钮,选择Enable Integration,这样就跳入了HipChat中Integration页面,同意集成就行,如果没注册HipChat账号就注册下就行,HipChat是Atlassian旗下的一款免费的聊天协作工具...在生产环境可以都注销掉,表示用户产生的所有异常都需要发送到Sentry中,并通过手机端HipChat告知开发者,然后使用Sentry::captureException()捕获异常。...试一下,如在浏览器中输入一个不存在的路由如http://sentry.app:8888/sentry,然后报NotFoundHttpException,查看Sentry有没有捕获到: 然后查看HipChat

    4.6K71

    Laravel 如何使用 PHP 内置的服务器启动服务

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 在Laravel项目中,如果你在本地安装了 PHP, 并且你想使用 PHP 内置的服务器来为你的应用程序提供服务,则可以使用...当然,如果要部署到生产服务器上的话,还是要安装 apache 或 nginx 之类的 web server 的。...publicPath() 来的,这个方法的源码位于 Illuminate\Foundation\Application 中 function public_path($path = '') {...use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException...,最终打印出一个可以执行的 PHP 命令,其中这四个分别对应的是: //php 的可执行全路径ProcessUtils::escapeArgument((new PhpExecutableFinder)

    9.1K10

    数据中的城市,城市中的数据

    点击标题下「大数据文摘」可快捷关注 [今日3篇文章] 1.数据中的城市,城市中的数据 2.解密:“女博士”如何领导美帝神秘机构DARPA 3.2014年可穿戴设备之非官方报告 作者:凯尔·格雷科(Kael...这个方法中使用了模块化的优化方案,例如同一个网络中的计算机以一种能够把内部互联中断的总量减到最小的方式组织起来。结果中的每一个子群落都代表了一个通勤者居住和工作的主要地区。...通过概率变换,我们将收集到的OD交通数据转化为具体的地理信息系统(GIS)中的路段数据库中的信息,我们有可能对各种交通出行人群对于整体运输网络的影响进行量化——这表明建设一个细致全面的实时通勤展示系统是可能的...我们会继续对这些思考中的问题进行研究,城市的文化脉络将会在寻找答案的过程中成为为我们指明关注方向的核心要素。...在这个细致往复的过程中,我们在空间的框架之下和之外都进行了研究,我们希望能够建立一系列模型,来找到研究城市与生活在城市中的各种社会群体的新方法。

    1.6K40

    python中的urllib模块中的方法

    问题出在请求中的头信息(header)。 有的服务端有洁癖,不喜欢程序来触摸它。这个时候你需要将你的程序伪装成浏览器来发出请求。请求的方式就包含在header中。    ...url中是不能出现一些特殊的符号的,有些符号有特殊的用途。...我们知道以get方式提交数据的时候,会在url中添加key=value这样的字符串,所以在value中是不允许有'=',因此要对其进行编码;与此同时服务器接收到这些参数的时候,要进行解码,还原成原始的数据...中的键值对以连接符&划分 将dict或者包含两个元素的元组列表转换成url参数。...通过BeautifulSoup 的 find_all方法,找出所有a标签中的href属性中包含http的内容,这就是我们要找的网页的一级链接( 这里不做深度遍历链接)  并返回符合上述条件的a标签的href

    2.8K10

    Shell 中的中括号用法总结

    Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试: 算术比较, 比如一个变量是否为0, [ $var -eq 0 ]。...文件系统属性测试 使用不同的条件标志测试不同的文件系统属性。 ? 使用方法如下: ? 字符串比较 在进行字符串比较时,最好使用双中括号 [[ ]]....因为单中括号可能会导致一些错误,因此最好避开它们。 检查两个字符串是否相同: ? 当 str1等于str1等于str2 时,返回真。也就是说,str1 和 str2 包含的文本是一样的。...字符串的其他比较情况: ? 使用逻辑运算符 && 和 || 可以轻松地将多个条件组合起来, 比如: ?...test 命令也可以从来执行条件检测,用 test 可以避免使用过多的括号,[] 中的测试条件同样可以通过 test 来完成。 ? 等价于: ?

    2.9K20

    CPU中的上下文(中)

    三.线程切换 进程是拥有资源的集合体,而线程是执行操作的单位。关系很像公司中部门和人员的关系。每个部分都有不同的资源,而部门中的人员则使用资源完成任务。...当只有一个线程的时候,线程等于进程 当有多个线程的时候,线程共享虚拟内存,全局变量等资源,这些资源上写文切换时不需要更改。 线程有自己的单独数据,栈和寄存器重存储的内容,切换需要保存。...只保存内核态,中断服务程序执行所必须的状态,包括cpu寄存器,内核堆栈,硬件终端参数等。 同cpu中,中断优先级最高,所以中断切换和进程之前切换并不会同时发生。...)是就绪队列的长度,也就是正在运行和等待 CPU 的进程数 b(Blocked)则是处于不可中断睡眠状态的进程数 2.每个进程的上下文切换情况 pidstat -w 5 cswch(voluntary...)每秒非自愿上下文切换的次数 指进程由于时间片已到,有优先级更高的进程启动等原因,被系统强制调度从而切换。

    1.1K20
    领券