创建集合为了创建一个集合,可以将一个数组传入集合的构造器中,也可以创建一个空的集合,然后把元素写到集合中。Laravel 有collect()助手,这是最简单的,新建集合的方法。$collection = collect([1, 2, 3]); 默认情况下, Eloquent 查询的结果返回的内容都是 Illuminate\Support\Collecti ......
205
0
0
2023-08-27
1 laravel自带方法获取客户端ipdd(request()->ip()); var_dump(request()->getClientIp()); 但是,这是在没有代理的情况下,有时候我们的业务使用了反向代理、负载均衡、cdn加速等等,我们就要设置信任的代理IP。修改 app\Http\Middleware\TrustProxies.p ......
327
0
0
2022-10-25
本文主要讲解中间件的执行机制。分为两个部分:1、Larave启动流程简单介绍,以便知道请求进来后,全局中间件在哪块生效。2、Pipline详解,由于中间件的执行流程最终由Pipline实现,因此理清楚Pipline的执行逻辑理也就清楚了中间件的执行逻辑,路由中间件同理。一个中间件类大致如下:<?php namespace App\Http\Middl ......
313
0
0
2022-10-21
ApiResponse<?php namespace App\Helpers; use App\Enums\ApiCode; use Illuminate\Support\Facades\Response; trait ApiResponse { /** * @var int */ prote ......
218
0
0
2022-10-19
应用场景如果想监听 model 中的各种事件,诸如updated、created 、deleted 等模型事件,你可以使用 Observer 类进行统一管理。只需这一个类,你就可以监听上述多种模型事件,十分地方便。使用方法举一个例子,假如你想监听 User 模型的变化。你可以使用以下命令创建 User 模型的观察者:php artisan make:obse ......
246
0
0
2022-10-19
Laravel团队在新版本Laravel6中添加了许多新特性,本文主要讨论LazyCollection(惰性集合包装器)在Laravel中,Illuminate\Support\Collection类提供了一个非常方便的包装器来处理数据对象的数组。实际上,所有的Eloquent的数据库查询总是作为Collection实例来返回,当然不包括查询具体某一条数据的 ......
240
0
0
2022-10-16
相关环境:PHP7.4 + Laravel8.83.8日志记录是项目必不可少的,他可以帮助我们排查一些问题,那这节我们就以接口请求与接口返回的记录作为重点。项目里面的接口很多,我们不可能在每个方法里面人工的加Log::info()这种,这样太累也不好维护。所以我是使用中间件来做的:第一步新建一个中间件php artisan make:middleware A ......
307
0
0
2022-10-16
安装 github.com/square/laravel-hyrulecomposer require square/laravel-hyrule 是一个面向对象的、可组合的、流畅的 API,用于在 Laravel 中编写验证Hyrule 通过提供一个构建器对象来工作,该对象允许您围绕预期的表单字段构建规则。这些字段可以是简单的标量数据类型和复杂的数组和对 ......
268
0
0
2022-10-15
旧版异常Handlerclass Handler extends ExceptionHandler { public function render($request, Exception $exception) { //ajax请求我们才捕捉异常 if ($request->ajax()){ ......
284
0
0
2022-10-05
需求最近由于业务功能的需求,需要根据数据库记录的请求路径(如admin/auth/menu/46/edit)、请求方法(如GET)去匹配路由实例,拿到路由实例后续做一些其他事情。分析其实就是路由的核心功能(将一类请求映射匹配到一个回调类型的变量)。框架本身自带的功能,查找源码是以下代码块实现的:// Illuminate/Routing/RouteColle ......
234
0
0
2022-09-20
面试PHP,有时候也会被问起使用的框架的一些问题,这里就框架Laravel给大家做了一个总结。laravel框架最大的特点和优秀之处就是集合了php比较新的特点,以及各种各样的设计模式,Ioc模式,依赖注入等一、Laravel有哪些特点1 强大的rest router:用简单的回调函数就可以调用,快速绑定controller和router2 artisan: ......
332
0
0
2022-09-01
IntroductionCarbon *继承了PHP的 *Datetime *类和JsonSerialiable。所以 *Carbon *中没有涉及到的,但在 *Datetime *和JsonSerializable*中已经实现的方法都是可以使用的。class Carbon extends DateTime implements JsonSeria ......
327
0
0
2022-07-18
API接口设计首先接口是不能裸奔的,不然你就BOOM了!!!首先接口是不能裸奔的,不然你就BOOM了!!!首先接口是不能裸奔的,不然你就BOOM了!!!一、那么接口一般面临三个安全问题请求身份是否合法请求参数是否被篡改请求是否唯一(重放攻击)二、那么针对这三个问题,怎么解决呢??请求身份合法问题就用接口签名认证(sign)解决,需要登录才能操作的api还要验 ......
332
0
0
2022-07-03
懵懂时,我一直不理解为什么要有IOC容器这东西,composer不是已经可以实现自动加载了吗?一个开发框架有很多的类库、实例等等需要管理和调用,IOC容器可以让我们更好的管理我们的类和对象,当前主流的框架已经离不开它了别走客官,这是学习武林秘籍第一步,想要习得上层武功,必经之路呀,否则你只能去隔壁练葵花宝典了!学习它之前,我们需要弄清2个概念依赖注入控制反转 ......
267
0
0
2022-06-16
对API响应做统一的封装,让代码看起来更清晰一些。HttpService 主要提供3个方法:success, error, validatesuccess和error方法统一响应相同格式的数据结构:{“msg”: “测试错误”,”data”: [],”code”: 0}validate方法只是基于系统Validator的封装。代码:<?php nam ......
276
0
0
2022-06-10