使⽤Laravel 8
PHP主流框架打造
RESTful APIRESTful API ⾃我介紹 • 王盛立 • 出版過⼀本 使⽤Laravel 8 PHP主流框架打造RESTful API(iT邦幫忙鐵⼈賽系列書) • 浪浪的事 Side Project https://langlangthing.com/ 今⽇菜單 ⾃我介紹 RESTful API Laravel程式範例說明 延伸補充資料 前後端分離 WEB API RESTful RESTful API 是什麼 Representational state transfer (REST) 表現層狀態轉換 Client Server REQUEST RESPONSE GET https://localhost/api/v1/articles/1 HTTP STATUS : 200 OK HTTP 協定 HTTP VERBS. URL. HTTP STATUS. 14:07:22", "updated_at": "2021-09-08 14:07:22" } } 201 CREATED https://localhost/api/v1/articles Headers Headers Body Body REQUEST RESPONSE JSON Accept : application/json Content-Type0 码力 | 22 页 | 3.41 MB | 1 年前3
Laravel 5.6 中文文档org 1 一、序言 新版特性 Laravel 5.6 在 Laravel 5.5 的基础上继续进行优化,包括日志系统、单机任务调度、模型序列化优化、动态频率限制、广播频道类、API 资源控制器 生成、Eloquent 日期格式化优化、Blade 组件别名、Argon2 密码哈希支持、引入 Collision 扩展包等等等等。此外,所有的前端脚手架代码都已升 级到 Bootstrap 'driver' => 'stack', 'channels' => ['syslog', 'slack'], ], ], 此外,现在可以使用日志系统的新”tap”功能很轻松地自定义已存在的日志频道。想要了解更多细节,请查看完整日志文档。 单机任务调度 注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个调度任务就会在三台机器上运行并生成同样的报告三次,这样很不优雅,甚至很糟糕! 要指定任务只在一台机器上运行,可以在定义调度任务时使用 onOneServer 方法,第一台获取到任务的机器会给这个任务上一把原子级别的锁来阻 止其他服务器同时运行同一个任务: $schedule->command('report:generate')0 码力 | 377 页 | 14.56 MB | 1 年前3
Laravel 6.0 中文文档提供了诸多便捷之处,比如优化了 Blade 错误文件和行号处理、针对常见问题的可执行解决方案、代码 编辑、异常分享、以及经过优化的用户体验。 优化授权响应 在之前版本的 Laravel 中,获取并提供自定义授权消息给终端用户 很困难,主要难点在于如何向终端用户解释清楚为什么特定的请求被 拒绝了。在 Laravel 6.0 中,我们可以使用 Gate::inspect 方法和 授权响应消息来轻松实现。例如,给定如下策略方法: $response->message(); } 此外,当在路由或控制器中使用 $this->authorize 或 者 Gate::authorize 方法时,这些自定义的消息会被自动返回给前 端。 任务中间件 任务中间件允许你封装自定义的队列任务异常业务逻辑,避免在任务 自身处理中混入对应样板代码。例如,在之前的 Laravel 版本中, 你可能需要在频率限制回调中封装某个任务的 handle 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 13 影响级别:高 使用 authorizeResource 方法添加到控制器的授权策略类现在要 定义 viewAny 方法,该方法会在用户访问控制器的 index 方法时被 调用。否则,调用控制器的 index 方法会被认为是未授权而拒绝。 RegisterController 控制器 影响级别:中等0 码力 | 1442 页 | 14.66 MB | 1 年前3
Laravel 5.3 中文文档........................................................................................ 261 8.4 API 认证(Passport) ..................................................................................... Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 POPO 和单动作控制 器;以及优化前端脚手架;等等等等。 通知(Notifications) 注:Laracasts 上有关于此特性的免费视频教程。 Laravel Notifications 为我们提供了简单、优雅的 API 用于在不同的发行渠道中发送通知,例如邮 件、SMS、Slack 件、SMS、Slack 等等。例如,你可以定义一个单据已经支付的通知,然后通过邮件和 SMS 发送这 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 4 个通知,你可以使用一个很简单的来实现: $user->notify(new InvoicePaid($invoice));0 码力 | 691 页 | 9.37 MB | 1 年前3
Laravel 5.2 中文文档版本中,框架只支持默认的、基于 session 的认证驱动,且在单个应 用中只能拥有一个认证模型类(对应单张表),这为我们实现某型功能,比如前后端分离 登录带来麻烦。 我们对此进行了改进,在 Laravel 5.2 中,你可以定义多个认证驱动,还有多个认证模型 以及用户表,并且可以独立控制其认证处理(登录、注册、密码重置)。例如,如果你的 应用包含一个后台管理员用户表和一个前台学生用户表,现在你可以使用 Auth 门面来实现 还会使用相应路由更新路由文件。 注意:该功能特性只能在新应用中使用,不能再应用升级过程中使用。 隐式模型绑定 隐式模型绑定使得在路由或控制器中直接注入相应模型实例更加便捷。假设你有一个路由 定义如下: 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 2 use App\User; $user) { return $user; }); 在 Laravel 5.1 中,你需要通过 Route::model 方法告诉 Laravel 注入 App\User 实例以匹 配路由定义中的 {user} 参数。 现在,在 Laravel 5.2 中,框架将会基于相应 URI 片段自动注入模型,从而允许你快速 访问需要的模型实例。 如果路由参数片段 {user} 匹配路由闭包或控制器方法中相应变量0 码力 | 377 页 | 4.56 MB | 1 年前3
Laravel 5.1 中文文档事件允许你在服务端代码和客户端 JavaScript 框架之间共享相同的事件名称。 更多关于事件广播的内容请查看事件一节。 中间件参数 Laravel 5.1 里,中间件可以接受额外的自定义参数,例如,如果你的应用需要在执行给定 的 action 之前验证被授予指定“角色”的认证用户,可以创建一个 RoleMiddleware 来接收角 色名称作为额外参数: 定义路由时通过:分隔中间件名称和参数名称来指定,多个参数可以通过 逗号进行分隔: 本文档由 Laravel 学院(LaravelAcademy.org)提供 3 Route::put('post/{id}' } 更多有关测试的内容,请查看测试一节。 模型工厂 Laravel 现在可以通过使用模型工厂附带一种简单的方式类创建 Eloquent 模型存根,模型工 厂允许你为 Eloquent 模型定义一系列默认属性,然后为测试或数据库填充生成模型实例。 模型工厂还可以利用强大的 PHP 扩展库 Faker 类生成随机的属性数据。 $factory->define('App\User', function0 码力 | 307 页 | 3.46 MB | 1 年前3
Learning Laravelrouting behaviour in Laravel 5.2.31 + 28 Syntax 28 Parameters 28 Remarks 28 Examples 28 Adding api-routes with other middleware and keep default web middleware 28 Chapter 8: Collections 30 Syntax Configuration 168 Basic Usage - Facade 168 Basic Usage - Dependency Injection 169 Socialite for API - Stateless 169 Chapter 58: Sparkpost integration with Laravel 5.4 171 Introduction 171 Examples 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', ],0 码力 | 216 页 | 1.58 MB | 1 年前3
Laravel 5.0 Documentation
integration with local, Amazon S3, and Rackspace cloud storage - all with one, unified and elegant API! Storing a file in Amazon S3 is now as simple as: Storage::put('file.txt', 'contents'); For more Cashier brings numerous bug fixes, multi-currency support, and compatibility with the latest Stripe API. The Artisan queue:work command now supports a --daemon option to start a worker in "daemon mode" workers can be found in the queue documentation. Laravel 4.2 introduces new Mailgun and Mandrill API drivers for the Mail functions. For many applications, this provides a faster and more reliable0 码力 | 242 页 | 1.44 MB | 1 年前3
《Slides Dev Web》 06. HTTP & AJAX
images/cookies (ex: GIF9) – Applets, Flash, ActiveX, … – XHR : XML HTTP Request (IE5, 1999 pour OWA) – Fetch API • Pas obligatoire d’avoir du JS, XML ni d’être asynchrone ! AJAX • XHR est devenue la méthode standard parseJSON('{"nom":"Berger"}'); alert(obj.nom); Fetch API • Le successeur d’XHR est fetch22 : Exemple23 • Fetch a un polyfill pour les navigateurs ne le supportant pas • L’API Fetch est native et plus simple d’utilisation then(function(json) { console.log(json); }) .catch(function(error) { console.error("erreur", error) }) • L’API fetch est native et utilise les promesses24 plutôt que les callbacks Traitement d’erreurs • Utiliser0 码力 | 11 页 | 91.09 KB | 1 年前3
《Slides Dev Web》 09. Services Web
distribuées3 pour l’entreprise – Mashups4 d’applications web (exemples5) – Applications Facebook, API Google6 – IFTTT7 • Consommer un service web ≠ Créer un service web SOAP • AVANT : Simple Object états suivants sont documentés dans la réponse () SOAP vs REST • webservice : exposer son API en REST ou SOAP ? • SOAP (WS-*) – hérité du monde de l’entreprise – plus de code pour manipuler la Google28, Yahoo29, Flickr30, Twitter31, … – APIary32 : Aide au design d’une API REST – Tests : Postman, Hoppscotch33, Ping-API34, autres35 • GraphQL36 – est destiné à devenir la prochaine évolution des0 码力 | 6 页 | 47.90 KB | 1 年前3
共 18 条
- 1
- 2













