• Lumen跨域问题,PHP CORS Middleware


    前导

    本篇文字作为?《「新轮子」PHP CORS (Cross-origin resource sharing),解决 PHP 项目程序设置跨域需求。》的续篇。

    简介

    什么是 medz/cors?这个中间件的全名叫做 「PHP CORS Middleware」,专门用来处理基于 PHP 程序的 CORS 信息问题,主要针对在 PHP 程序中设置跨域信息的支持。

    安装

    得益于 Composer,现在我们安装变得很简单,请在你的 Lumen 项目中执行:

    composer require medz/cors

    配置

    请参考《配置参考》,然后在你的 Lumen 项目下创建 config/cors.php 文件,其中内容如下:

    <?php
    return [
        'allow-credentiails' => env('CORS_ALLOW_CREDENTIAILS', false), // set "Access-Control-Allow-Credentials" ? string "false" or "true".
        'allow-headers'      => ['*'], // ex: Content-Type, Accept, X-Requested-With
        'expose-headers'     => [],
        'origins'            => ['*'], // ex: http://localhost
        'methods'            => ['*'], // ex: GET, POST, PUT, PATCH, DELETE
        'max-age'            => env('CORS_ACCESS_CONTROL_MAX_AGE', 0),
    ];

    注册服务

    现在,请打开 bootstrap/app.php 文件,添加如下代码:

    $app->configure('cors'); // 如果想 `config/cors.php` 的配置生效,请务必添加这行代码!如果没有添加,则使用默认配置。
    $app->register(MedzCorsLumenServiceProvider::class);

    好了,现在请配置完成后进行跨域使用吧,因为 Lumen 的定位为轻量级的 API 框架,所以在 medz/cors 针对 Lumen 的支持中,并没有 Laravel 支持那么复杂,你只需要安装即可使用。

    其他

    目前 medz/cors 的支持情况如下:

    • [✓]?Array, Coding in Native PHP
    • [✓]?Using PSR-7
    • [❌]Symfony Support
    • [✓]Laravel Support
    • [✓]Lumen Support
    • [❌]Yii2 Support
    • [❌]Slim Framework

    其中标示 的部分将逐步支持。

    GitHub: https://github.com/medz/cors ,新轮子,请打一个?Star 吧!

  • 相关阅读:
    Android_自定义适配器
    Android_ListView
    Android_布局
    Android_基础控件
    Android_基础
    PHP框架_ThinkPHP数据库
    PHP框架_ThinkPHP基础
    PHP框架_Smarty_实现登录功能
    PHP框架_Smarty
    PHP文件上传
  • 原文地址:https://www.cnblogs.com/niuben/p/11765973.html
Copyright © 2020-2023  润新知