使⽤Laravel 8 PHP主流框架打造 RESTful API
RESTful 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 年前3Laravel 6.0 中文文档
-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] Nginx 如果你使用的是 Nginx,使用如下站点配置指令就可以支持 URL 美 化: location / { try_files $uri $uri/ /index.php?$query_string; } 当然,使用 Homestead 或 php、 api.php、 console.php 和 channels.php。 web.php 文件包含的路由通过 RouteServiceProvider 引入,都被 约束在 web 中间件组中,因而支持 Session、CSRF 保护以及 Cookie 加密功能,如果应用无需提供无状态的、RESTful 风格的 API,那么路由基本上都要定义在 web.php 文件中。 api.php php 文件包含的路由通过 RouteServiceProvider 引入,都被 约束在 api 中间件组中,因而支持频率限制功能,这些路由是无状 态的,所以请求通过这些路由进入应用需要通过 token 进行认证并 且不能访问 Session 状态。 console.php 文件用于定义所有基于闭包的控制台命令,每个闭包 都被绑定到一个控制台命令并且允许与命令行 IO 方法进行交互,尽 管这个文件并不定义0 码力 | 1442 页 | 14.66 MB | 1 年前3Laravel 5.6 中文文档
org 1 一、序言 新版特性 Laravel 5.6 在 Laravel 5.5 的基础上继续进行优化,包括日志系统、单机任务调度、模型序列化优化、动态频率限制、广播频道类、API 资源控制器 生成、Eloquent 日期格式化优化、Blade 组件别名、Argon2 密码哈希支持、引入 Collision 扩展包等等等等。此外,所有的前端脚手架代码都已升 级到 Bootstrap 学院提供 Laravel 学院致力于提供优质 Laravel 中文学习资源:http://laravelacademy.org 2 Route::middleware('auth:api', 'throttle:60,1')->group(function () { Route::get('/user', function () { // }); 请求次数,如果 User 模型包含 rate_limit 属性,可以将属性名传递 给 throttle 中间件,以便用于计算最大请求次数计数: Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () { Route::get('/user', function () { //0 码力 | 377 页 | 14.56 MB | 1 年前3Laravel 5.2 中文文档
中间件组允许你通过单个方便的键来对相关路由中间件进行分组,从而为某个路由一次指 定多个中间件。例如,在同一个应用中构建 Web UI 或 API 时这一特性很有用,你可以 将 session 和 csrf 路由分组到一个 web 组,或者将访问频率限制分组到 api 中。 实际上,默认的 Laravel 5.2 应用结构采用的正是这个方法。例如,在默认 的 App\Http\Kernel.php 文件中你会看到如下内容: ], 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 3 'api' => [ 'throttle:60,1', ], ]; 然后,web 组像这样分配给路由: Route::group(['middleware' => 一个新的访问频率限制中间件已经被内置到框架中,从而允许你轻松限制给定 IP 地址在 指定时间内对某个路由发起请求的数目。例如,要限制某个 IP 地址每分钟只能访问某个 路由 60 次,你可以这么做: Route::get('/api/users', ['middleware' => 'throttle:60,1', function () { // }]); 数组输入验证 在 Laravel 5.2 可0 码力 | 377 页 | 4.56 MB | 1 年前3Laravel 5.3 中文文档
........................................................................................ 261 8.4 API 认证(Passport) ..................................................................................... Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 POPO 和单动作控制 器;以及优化前端脚手架;等等等等。 通知(Notifications) 注:Laracasts 上有关于此特性的免费视频教程。 Laravel Notifications 为我们提供了简单、优雅的 API 用于在不同的发行渠道中发送通知,例如邮 件、SMS、Slack Echo,通过 NPM 安装的全新的 JavaScript 包,将和 Laravel 5.3 一起发布,用于为订阅频 道以及在客户端 JavaScript 应用中监听服务器端事件提供了简单、优美的 API,Echo 包含对 Pusher 和 Socket.io 的支持: Echo.channel('orders.' + orderId) .listen('ShippingStatusUpdated'0 码力 | 691 页 | 9.37 MB | 1 年前3Laravel 5.1 中文文档
createMatcher,createOpenMatcher 和 createPlainMatcher 方法已经从 Blade 编译器中移 除,可以使用新的 directive 方法来为 5.1 版的 Blade 创建自定义的指令。查阅扩展 Blade 文档了解详情。 测试 在 tests/TestCase.php 文件中新增 protected 属性$baseUrl: protected $baseUrl = 'http://localhost'; -d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] Nginx 在 Nginx 中,使用如下站点配置指令就可以支持 URL 美化: location / { 本文档由 Laravel 学院(LaravelAcademy.org)提供 11 try_files $uri $uri/ $request->file('photo')->move($destinationPath, $fileName); 2.3.5 其它文件方法 UploadedFile 实例中很有很多其它方法,查看该类的 API 了解更多相关方法。 HTTP 响应 1、基本响应 所有路由和控制器都会返回某种被发送到用户浏览器的响应,Laravel 提供了多种不同的方 式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串:0 码力 | 307 页 | 3.46 MB | 1 年前3CmlPHP v2.x 开发手册
1.6.17.2 1.6.18 1.6.19 1.6.20 1.6.21 1.6.22 1.6.23 注意事项 同时查询多个库 模型-MongoDB Orm详细Api 服务 视图 统一的API Html模板引擎 Blade模板引擎 锁-并发处理 缓存 语言包 日志 调试 Session自定义保存位置 框架自带的扩展包 插件 使用说明 系统挂载点 常用常量 x开发手册 本教程是针对CmlPHP开发框架的V2.x系列版本的开发使用教程。 本教程离线版下载:pdf、mobi、epub CmlPHP主页:cmlphp.com CmlPHP v2.x Api手册:api.cmlphp.com CmlPHP简介 CmlPHP是基于php5.3+(v2.7开始要求php5.4+)版本开发的 MVC/HMVC/MVSC/HMVSC框架,支持composer、分布式数据库、分 pc等缓存, 支持多种url模式、URL路由[RESTful],支持多项目集成、第三方扩 展、支持插件。 CmlPHP在Model层做了缓存集成,开发者无需关注数据缓存的问题, 按照相应的API调用即可获得最大性能。从而从根本上避免了新手未 使用缓存,或缓存使用不当造成的性能不佳的问题。也杜绝了多人协 同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务0 码力 | 245 页 | 720.67 KB | 1 年前3CmlPHP v2.x 开发手册
快捷方法 通过某字段值获取数据 添加数据 通过某字段值更新数据 通过字段值删除数据 获取总数 获取列表 注意事项 同时查询多个库 模型-MongoDB Orm详细Api 服务 视图 统一的API Html模板引擎 Blade模板引擎 锁-并发处理 缓存 语言包 日志 调试 Session自定义保存位置 框架自带的扩展包 插件 使用说明 系统挂载点 常用常量 x开发手册 本教程是针对CmlPHP开发框架的V2.x系列版本的开发使用教程。 本教程离线版下载:pdf、mobi、epub CmlPHP主页:cmlphp.com CmlPHP v2.x Api手册:api.cmlphp.com 4 CmlPHP简介 CmlPHP是基于php5.3+(v2.7开始要求php5.4+)版本开发的MVC/HMVC/MVSC/HMVSC框架,支持 compos is、apc等缓存, 支持多种url模式、URL路由[RESTful],支持多项目集成、第三方扩展、支持插件。 CmlPHP在Model层做了缓存集成,开发者无需关注数据缓存的问题,按照相应的API调用即可获得最大 性能。从而从根本上避免了新手未使用缓存,或缓存使用不当造成的性能不佳的问题。也杜绝了多人 协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支0 码力 | 143 页 | 1.54 MB | 1 年前3CmlPHP v2.x 开发手册
6.15.7 16. 同时查询多个库 1.6.6.16 7. 模型-MongoDB 1.6.7 1. Orm详细Api 1.6.7.1 8. 服务 1.6.8 9. 视图 1.6.9 1. 统一的API 1.6.9.1 2. Html模板引擎 1.6.9.2 3. Blade模板引擎 1.6.9.3 10. 锁-并发处理 x开发手册 本教程是针对CmlPHP开发框架的V2.x系列版本的开发使用教程。 本教程离线版下载:pdf、mobi、epub CmlPHP主页:cmlphp.com CmlPHP v2.x Api手册:api.cmlphp.com CmlPHP简介 CmlPHP是基于php5.3+(v2.7开始要求php5.4+)版本开发的MVC/HMVC/MVSC/HMVSC 框架,支持composer、分 memcache、redis、apc等缓存,支持多种url模式、URL路由[RESTful],支持多项目集 成、第三方扩展、支持插件。 CmlPHP在Model层做了缓存集成,开发者无需关注数据缓存的问题,按照相应的API调 用即可获得最大性能。从而从根本上避免了新手未使用缓存,或缓存使用不当造成的 性能不佳的问题。也杜绝了多人协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、0 码力 | 251 页 | 973.37 KB | 1 年前310 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》
n SQL Injection q 攻击者利用WEB应用程序对用户输入验证上的疏忽, 在输入的数据中包含对某些数据库系统有特殊意义 的符号或命令,让攻击者有机会直接对后台数据库 系统下达指令,进而实现对后台数据库乃至整个应 用系统的入侵。 17 原理 n 正常连线状态 18 公⺴⽹网 ID=A123456789 Passwd=1234 select * from member Session存储在服务器端,并通过Session ID与各个 用户关联。对于大部分的WEB应用,除非程序通知服 务器删除一个Session,否则服务器会一直保留。程 序一般都是在用户点击退出按钮时发出指令去删除 Session,而浏览器从来不会主动在关闭之前通知服 务器它将要关闭,因此服务器很少有机会知道浏览器 已经关闭。 n 因此,Session ID就自然成为了攻击者诱人的目标, 他们通过获得Session0 码力 | 114 页 | 3.65 MB | 1 年前3
共 80 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8