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

宇宙最强语言PHP的“全栈”框架——Laravel来了!

此外,还有一套附加组件:Cashier(用于支付和订购)、Echo(用于 WebSocket 编程)、Scout(用于实现搜索功能)、Passport(用于 API 认证)、Dusk(用于前端测试)、Socialite...▼ 本文节选自博文视点新书《Laravel入门与实战》(第2版),本书第1版收获了许多读者的好评,第2版迎来Laravel版本升级,覆盖更多前沿内容! 第2版完全涵盖Laravel 5.8版本的内容。...,用户认证和授权,请求、响应和中间件,容器,测试等知识。...包含新版本的全面知识点 这是一本实用的Laravel 技术指南,第2 版完全涵盖Laravel 5.8 版本的内容。...和Tinker,用户认证和授权,请求、响应和中间件,容器,测试等知识。

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

    在Laravel中使用Http::fake模拟测试的最佳实践

    在日常开发中,我们经常需要与外部API进行交互。但在测试阶段,直接调用真实API会带来一系列问题:测试速度慢、API限制、网络依赖等。...Laravel的HTTP客户端提供了一个极其强大的测试工具——Http::fake(),让我们能够优雅地解决这些问题。 什么是Http::fake?...Laravel的HTTP客户端提供了一个专门用于测试的伪造功能,可以让你"拦截"发出的请求并返回预设的响应。这意味着你可以在测试中模拟任何外部API的响应,而无需实际发出网络请求。...= Http::get('https://api.example.com/data'); 这样,所有的HTTP请求都会返回一个空的200状态码响应,而不会真正发送请求到外部服务器。...写在最后 Laravel的Http::fake()是一个极其强大的测试工具,它可以: 提高测试速度(无需网络请求) 增加测试可靠性(消除外部依赖) 覆盖各种场景(成功、失败、异常情况) 验证代码是否正确发送请求

    11310

    Laravel学习记录--微信开发(day3)

    /laravel=5.5 fx; 1.2安装Wechat扩展 Laravel 5.8 composer require "overtrue/laravel-wechat:~4.0" Laravel...>= 5.8 composer require "overtrue/laravel-wechat:~5.0" 开发文档:https://www.easywechat.com/docs 环境需求 PHP...第一步:客户端请求微博服务器(也就是用户点击第三方微博登录),用户登录后,此时用户的信息是存放在微博服务器的,微博服务器会返回一个code值给客户端,这里是AB; 第二步:客户端拿到这个code值后,会再次请求微博服务器...,这里还是以微博登录为例 1.注册微博开放平台 注册认证后点击微连接--网站接入--创建应用 由于审核较为麻烦,微博为我们提供了测试账号 点击“应用信息--测试信息--绑定你的微博昵称” 点击应用信息...”找到获取用户信息接口 URL https://api.weibo.com/2/users/show.json 支持格式 JSON HTTP请求方式 GET public function center

    2K10

    Laravel框架表单验证格式化输出

    laravel默认的输出格式(图一) ? 修改后的输出格式(图二) 或许通过上面两张图,你还是未看出有什么区别的话。这里我用文字描述一下吧。这种情况是发生在laravel做表单验证的情况下发生的。...前端向我后端接口发送一个POST请求时,发送了一个title和body的字段。我后端需要对两个字段做一些非空验证。按照框架手册来进行的话,输出的格式就是图一的格式。...laravel默认的输出格式(图三) 预期效果 通过图三我们知道了 laravel 默认的是返回一个带 422 的 http 状态码并且将所有的验证错误信息都返回。...解决方案 该框架是 laravel5.8 的情况下进行编写,如果版本不同,或许还需要特殊的处理,不过处理的思路可以参考下面的。 1.创建一个表单验证器。...2.劣势 这样的方式验证,每验证一次,就会向后端发送一个 http 请求。

    2.6K30

    基于 Laravel + Vue 组件实现文件异步上传

    Controllers/RequestController.php,初始化路由定义中指定的控制器方法,首先是 formPage 方法用于渲染表单视图,我们约定视图路径是 request.form(可以先创建一个空的视图文件...(axios 是一个功能强大的基于 Promise 的 JavaScript HTTP 客户端,推荐使用它来替代传统的 ajax 或 XMLHttpRequest API 发送 HTTP 请求),方便在请求头中全局设置.../components/FileUploadComponent.vue')); 注:如果是在 Laravel 5.8+ 中,需要这样注册:Vue.component('fileupload-component...测试文件上传功能 至此,我们完成了前端视图和 Vue 组件的编写,运行 npm run dev 重新编译前端资源,访问 http://blog.test/form 就可以测试文件上传了,先打开 F12...至此,基于 Laravel + Vue 组件的文件异步上传功能就全部完成了。

    3.7K20

    PHP 协程框架 Hypervel

    在大多数情况下,大多数延迟源于 I/O 作,例如文件作、数据库查询和 API 请求。 但是,Laravel 不支持协程 - 整个框架都是为阻塞 I/O 环境而设计的。...Laravel Octane 中的 10 个工作线程收到 10 个并发请求,在这些请求完成之前,所有工作线程都将被阻止。...重要:即使 Laravel Octane 支持协程,这些协程仍将仅限于单个请求,工作程序将保持阻塞状态,直到该请求中的所有 I/O 作完成。...官网:https://hyperf.io 基准测试 基准测试涵盖两种不同的场景,用于评估不同条件下的性能: 简单的 API 测试 基本的 hello world API 端点 不使用应用中间件 测试原始响应速度...API 测试 Laravel Octane (8 workers) Running s test @ http://127.0.0.1:8000/api    threads and  connections

    37810

    Laravel知识点总结

    请求生命周期用户发送请求到入口文件(通常是index.php)。引导 Laravel 应用程序,这包括配置加载、环境检测、注册类别别名和服务。创建一个应用实例,这是由全局辅助函数app() 返回的。...通过控制反转,程序的控制权从传统的由程序员直接控制转变为由框架或容器来控制。控制反转的主要目的是提高代码的灵活性、可维护性和可测试性。下面详细解释控制反转的概念和实现方式。...此外,由于对 PHP 动态方法的独特用法,也使测试起来非常容易。Contracts是什么?Laravel 的 Contracts 是一组接口,它们定义了框架核心服务的行为规范。...反射可以理解成根据类名返回该类的任何信息,它主要用来动态地获取系统中类、实例对象、方法等语言构件的信息,通过反射API函数可以实现对这些语言构件信息的动态获取和动态操作等。...在Laravel框架中,服务容器解析服务的过程中就用到了反射机制。

    55910

    Laravel API 开发推荐阅读清单

    讲讲我最近用 Laravel 做的一个 App 后端项目 Laravel Passport API 认证使用小结 关于 RESTful API 设计的总结 Laravel 5.5 使用 Passport...实现 Auth 认证 使用 Laravel 的 API 资源功能来构建你的 API 单个 Laravel 项目同时配置不同域名 api.domain(用户端接口) 和 admin.domain(管理员端...调试工具 DHC (aka Dev HTTP Client) Chrome 插件,简单易用,可分类管理,界面友好 Fiddler2 Windows 下抓包必备,捕捉每一次 REST 请求和响应的详细内容...Charles Proxy Mac 下抓包必备 Postman 功能齐全的 API 请求工具 Laravel API 课程 社区有一门实战课程 《Laravel 教程实战高级 - 构架 API 服务器...接口错误代码机制; APNS 消息推送服务器端介绍及实现; API 测试 —— 单元测试、集成测试、黑盒测试; 快速完成 API 文档; Passport / OAuth 2.0 认证。

    5.6K70

    推荐17-Laravel 中使用 JWT 认证的 Restful API

    我们将使用 JWT 身份验证在 laravel 中使用 restful API 构建基本用户产品列表。...教程中接下来的步骤只在 5.5 和 5.6 中测试过。可能不适用于 Laravel 5.4 或以下版本。您可以阅读 针对旧版本 Laravel 的文档 。...php artisan serve 它将监听 localhost:8000 为了测试 restful API's,我们使用 Postman 。填写好请求体之后,我们请求一下 register 路由。...发送请求,你将获得令牌。 ? 我们的用户现已注册并通过身份验证。我们可以发送另一个请求来检测 login 路由,结果会返回 200 和令牌。 ? 获取用户详情 ? 测试身份认证已完成。...接下来测试产品部分,首先创建一个产品。 ? 现在,通过请求 index 方法获取产品。 ? 你可以测试其它路由,它们都将正常工作。

    14.1K20

    Laravel 7 正式发布,一起来看看有哪些重要更新吧

    Laravel Airlock Laravel Airlock 为 SPA(单页面应用)、移动应用以及基于 Token 的简单 API 系统提供了轻量级的用户认证解决方案。...Airlock 是基于令牌(Token)的 API 认证实现,允许为应用的每个用户生成多个 API 令牌,这些令牌可用于被授权执行指定的动作。...Laravel Airlock 很好地填补了默认的 token 和基于 OAuth2 的 passwort 认证驱动之间的空白,为轻量化的、可用于生产环境的 API 用户认证实现提供了有力的支撑。...HTTP Client Laravel 现在基于 Guzzle HTTP Client 提供了一个优雅的、最小化的 API,通过这个 API,你可以快速发起 HTTP 请求以便于其他 Web 应用进行通信...缓存路由速度优化 Laravel 7 提供了一个新的方法来匹配那些使用 route:cache 命令缓存的、已编译的缓存路由,在大型应用(例如,超过800个路由)中,在基准测试中,这些优化可以将每秒处理请求数提升两倍

    3.2K10

    Laravel API教程:如何构建和测试RESTful API

    在本文中,我们将探讨如何构建和测试使用Laravel进行身份验证的强大API。我们将使用Laravel 5.4,所有的代码都可以在GitHub上参考。...测试我们的端点 Laravel包含通过phpunit.xml已经设置的PHPUnit开箱即用的集成。该框架还为我们提供了几个帮助者和额外的断言,使我们的生活更容易,特别是测试API。...您可以使用许多外部工具来测试您的API; 然而,Laravel内部的测试是一个更好的选择 - 我们可以拥有测试API结构和结果的所有好处,同时保留对数据库的完全控制。...(401); } } 重要的是要注意提示,在测试期间,Laravel应用程序不会在新的请求上再次实例化。...绝对有改进的空间 - 您可以使用Passport软件包实现OAuth2 ,集成分页和转换层(我推荐使用Fractal),但是我想通过在Laravel中创建和测试API的基础知识外部包装。

    24.2K20

    为什么 Laravel 这么优秀?

    ::class); Laravel 会自动帮我们注册 5 条路由如下所示,包括用于新增操作的 POST 请求,用于删除的 DELETE 请求等: file Laravel 路由虽然是非常优秀的设计,...作为后端开发,测试应该是所有环节中最重要的一部分;我们可以不用为每个函数都编写单元测试,但对于暴露出去的每一个 API,都应该有足够的 Feature 测试来覆盖大部分可能的情况。...在 Laravel 中我们可以非常方便的为每一个 API 编写功能测试,如下面我们为创建课程编写的 HTTP 测试: uses(RefreshDatabase::class); it('create...、有高效操作图片的 Intervention/image、还有最近要被纳入默认测试框架的 Pest 以及在屎一样的 API 之上构建出来的最好用的微信 SDK EasyWechat。...加持了 Laravel Octane 的应用,我们可以把请求响应做到 20ms 以内。

    5.4K10

    postman使用教程5-Test脚本中自定义变量(参数关联)

    http://localhost:8201/api/v1/userinfo HTTP/1.1 Content-Length: 0 Authorization: Token 2439b83901810851e273b494c29df357cbe2ed92...例如,如果您需要为本地运行的单个请求或集合处理临时测试值,并且不希望该值与您的团队同步或在请求/集合完成运行后仍然可用,则可以使用局部变量。...例如,要在请求身份验证设置中引用名为“用户名”的变量,可以使用以下语法,在名称周围使用双花括号: {{username}} 运行请求时,邮递员将解析该变量并将其替换为其当前值。...id={{cust_id}} cust_id请求运行时,邮递员将发送您当前为该变量存储的任何值。...id=3 或者,您可以具有一个请求body,该请求body通过将变量的引用括在双引号中来访问变量: { "customer_id" : "{{cust_id}}" } 您可以在请求URL,参数,标头,授权

    3.3K20

    RuntimeException: Unable to boot ApiServiceProvider, configure an API domain or prefix 解决办法和原因所在

    php laravel 背景描述 项目使用的是laravel5.3,公司新招了个学妹写前端,于是我觉得应该改变一下项目结构,我负责写api,她渲染界面,使用ajax动态无刷新,前后端分离。...环境变量仅存活于当前请求期间。 在请求结束时环境会恢复到初始状态。 设置特定的环境变量也有可能是一个潜在的安全漏洞。...注意:如果此指令是空的,PHP允许用户设定任意环境变量! safe_mode_protected_env_vars 指令包含了逗号分隔的环境变量列表,使用户最终无法通过 putenv() 修改。...这对于Ajax请求来说是有问题的,或者仅仅是当用户在新标签中打开多个链接时。 下面我以laravel为例重现此问题。...解决办法 了解了原因,解决办法多做多样,这里我只说明一下我(laravel)开发的解决办法。

    1.2K30
    领券