【PHP中间件--ICE】教程文章相关的互联网学习教程文章

php – Laravel Passport“auth:api”中间件充当“web,auth”中间件【代码】

我已经按照官方文档(https://laravel.com/docs/5.3/passport#introduction)中的描述为Laravel 5.3设置了Laravel Passport包. 我希望API由移动应用程序使用,因此我尝试实现密码授予令牌.我创建了一个密码授予客户端,以及令牌请求进程……$response = $http->post('http://my-app.com/oauth/token', ['form_params' => ['grant_type' => 'password','client_id' => 'client-id','client_secret' => 'client-secret','username' => 'm...

php – 中间件如何在Laravel 5中运行?【代码】

我试图理解中间件在Laravel 5中是如何工作的.我查看了Middleware Interface并理解我必须实现一个类,它有一个名为“handle”的方法.在“handle”方法中,调用闭包.但我不明白,关闭应该通过什么.什么类会调用我的中间件?它是如何在引擎盖下工作的?可能就像“foreach”一样,所有的中间件都会被轮流调用?更新:我正在尝试实现自己的中间件:interface Middleware {public function handle($request, Closure $next); }class Middlewa...

php – 如何在:: auth()上应用中间件?【代码】

这是我在routes.php文件中的代码:Route::auth();现在我需要在该路线的路上放置一个中间件.像这样的东西:Route::auth()->middleware('setLang');但在这种情况下,它会抛出此错误:FatalErrorException in routes.php line 43:Call to a member function middleware() on null我该如何解决?解决方法:为了使它工作,你首先需要register middleware. 之后使用group()方法设置中间件属性:Route::group(['middleware' => 'setLang'], f...

php – 使用基本授权作为中间件PSR-7 PSR-15【代码】

TD; LR:我正在努力掌握中间件实施背后的想法.它似乎正在工作,但我如何正确处理响应,以便它向浏览器显示基本授权登录提示?– 我正在使用: > equip/dispatch对于PSR-15中间件调度程序> guzzlehttp/psr7对于PSR-7 ServerRequestInterface> middlewares/http-authentication示例基本授权中间件> middlewares/response-time额外的虚拟中间件(检查是否也在管道中执行) 运行以下代码:$middleware = [new \Middlewares\ResponseTime()...

php – 在哪里放置由中间件生成的新对象?【代码】

PSR-7将很快标准化(我相信).这让我想到了中间件,例如Phly,StackPHP和ConnectJS使用的中间件. ConnectJS的工作方式是,当中间件需要添加内容时,它会修改请求对象.例如,cookie-session在req对象上创建会话属性:app.use(session({keys: ['key1', 'key2'] }))app.use(function (req, res, next) {var n = req.session.views || 0 // <-- req.session is managed by the session middlewarereq.session.views = ++n res.end(n + ' views...

php – Laravel中间件获取路由参数【代码】

我正在编写像“学校俱乐部管理系统”这样的东西,并在资源的权利授权上遇到一些问题. 假设有俱乐部,俱乐部有经理,我想在用中间件管理之前检查用户是否是俱乐部的经理. 使用laravel 5.2 我的路由器看起来像这样: Route :: resource(‘club’,’ClubController’); 我创建的中间件看起来像这样:public function handle($request, Closure $next){if (!Auth::check()){// ask user to login}$club = Club::findOrFail($request->inpu...

php – 将数据从中间件传递到视图或以其他方式显示每个页面中的特定数据【代码】

在我的网站上我有一个相当复杂的类别,我必须在每个视图中显示(在客户端)所以我想我把代码用于在中间件中创建类别并将结果传递给视图 所以我创建了我的中间件但我无法弄清楚如何将其数据传递给我的视图而无需在控制器中执行某些操作我在我的中间件中尝试过这些方法<?phpnamespace App\Http\Middleware;use Closure;class CtegoryMiddleware {/*** Handle an incoming request.** @param \Illuminate\Http\Request $request* @para...

php – 在Guzzle中同时模拟响应并使用历史中间件【代码】

有没有办法在Guzzle中模拟响应和请求? 我有一个发送一些请求的类,我想测试. 在Guzzle doc中,我找到了一种方法,我可以单独模拟响应和请求.但我怎样才能将它们结合起来? 因为,如果使用历史堆栈,guzzle试图发送一个真实的请求.和签证一样,当我模拟响应处理程序无法测试请求时.class MyClass {public function __construct($guzzleClient) {$this->client = $guzzleClient;}public function registerUser($name, $lang){$body = ['na...

php – 中间件Laravel 5中的数据库访问

我正在尝试使用Laravel 5并遇到HTTP中间件.我很想知道是否建议从中间件访问数据库(检查)并根据数据库结果过滤HTTP请求?P.S我能够在中间件中执行数据库查询.解决方法:我不明白为什么在中间件中访问数据库会是不好的做法.以权限系统为例.您的中间件必须验证允许登录用户查看当前页面.没有查询数据库就没办法做到这一点(除非你从其他地方获得权限) 如果此查询可能在许多请求上运行,则应确保正确优化它并将查询时间降至最低.