如何在OctoberCMS中创建中间件

5

我对 OctoberCMS 还不熟悉,但我对 Laravel 有一定的了解。

在 Laravel 中,创建中间件并组合多个中间件非常容易。

在 OctoberCMS 中,我还没有找到适当的指南或令人满意的答案。

是否有人知道如何在 OctoberCMS 中创建中间件并组合多个中间件?


这里是一个链接,可能对您有所帮助 https://octobercms.com/forum/post/how-to-enable-cors - D Coder
@DCoder 找不到太多有用的信息,但还是感谢您的时间 :) - Binit Ghetiya
1个回答

6
在你的插件文件夹中,使用文件Plugin.php来设置你的中间件。你必须在boot函数中声明,如下所示:
  public function boot()
  {
    // Register middleware
     $this->app['Illuminate\Contracts\Http\Kernel']
          ->pushMiddleware('Experty\Experts\Middleware\ExpertsMiddleware');
  }

并且在 ExpertsMiddleware.php 中

<?php namespace Experty\Experts\Middleware;

use Closure;
use Illuminate\Foundation\Application;
use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Http\Response;
use October\Rain\Exception\AjaxException;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;

class ExpertsMiddleware implements Middleware
{
/**
     * The Laravel Application
     *
     * @var Application
     */
    protected $app;

    /**
     * Create a new middleware instance.
     *
     * @param  Application $app
     * @return void
     */
    public function __construct(Application $app)
    {
        $this->app = $app;
    }
 /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */

    public function handle($request, Closure $next)
    {
      //youre code
     }
}

在 Laravel 5.2 中,Illuminate\Contracts\Routing\Middleware 合约已被弃用。 - B Faley
我遇到了一个错误: PHP 致命错误: 未捕获 ReflectionException: 类路径 path.storage 不存在于 /Applications/MAMP/htdocs/israplanet.com/vendor/laravel/framework/src/Illuminate/Container/Container.php:752 - aleXela

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接