guenbakku/cake-middleware 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

guenbakku/cake-middleware

Composer 安装命令:

composer require guenbakku/cake-middleware

包简介

Collection of middlewares for CakePHP

README 文档

README

Collection of CakePHP Middlewares.

Requirement

  • PHP 7.0 or higher
  • CakePHP 3.5 or higher

Installation

You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

composer require guenbakku/cake-middleware

List of middlewares

Http\ClientTimezoneMiddleware

Determine timezone of client. This will check value with the following priority:

  1. query parameter (default: timezone)
  2. request header (default: X-Timezone)

Support timezone:
https://www.php.net/manual/en/timezones.php

<?php

// In Application.php

use Guenbakku\Middleware\Http\ClientTimezoneMiddleware;

public function middleware($middlewareQueue)
{
    $middlewareQueue
        ->add(new ClientTimezoneMiddleware());
        // Other middlewares...

    return $middlewareQueue;
}
<?php

// In other place in source code

use Guenbakku\Middleware\Http\ClientTimezoneMiddleware;

$clientTimezone = ClientTimezoneMiddleware::getClientTimezone();

Http\CorsMiddleware

Add Access-Control-Allow-Origin and other related headers to resources on an API, make that API can be called via cross origin.

NOTE: CorsMiddleware should be inserted into the first position of Middleware queue (before Cake\Error\Middleware\ErrorHandlerMiddleware) to make it still work correctly in case there is exception thrown from inside of your application.

<?php

// In Application.php

use Guenbakku\Middleware\Http\CorsMiddleware;

public function middleware($middlewareQueue)
{
    // Use with default settings
    $middlewareQueue
        ->add(new CorsMiddleware());
        // Other middlewares...

    // Use with customize settings
    $middlewareQueue
        ->add(new CorsMiddleware([
            'allowOrigin' => ['*.domain.com'],
            'allowMethods' => ['GET', 'POST'],
            'allowHeaders' => ['*'],
            'allowCredentials' => true,
            'exposeHeaders' => ['Link'],
            'maxAge' => 300,
        ]));
        // Other middlewares...

    return $middlewareQueue;
}

Http\LocaleSelectorMiddleware

Sets the runtime default locale for the request based on the Accept-Language header. The default will only be set if it matches the list of passed valid locales.

This is a customized middleware of \Cake\I18n\Middleware\LocaleSelectorMiddleware but different with the original middleware, this only gets the first 2 characters in locale code (ISO 639-1 language code, e.g: en, ja...).

<?php

// In Application.php

use Guenbakku\Middleware\Http\LocaleSelectorMiddleware;

public function middleware($middlewareQueue)
{
    // Accept all locales
    $middlewareQueue
        ->add(new LocaleSelectorMiddleware());
        // Other middlewares...

    // Or specific allowed locales
    $middlewareQueue
        ->add(new LocaleSelectorMiddleware(['en', 'ja']));
        // Other middlewares...

    return $middlewareQueue;
}

统计信息

  • 总下载量: 90
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-07-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固