germania-kg/language-negotiation 问题修复 & 功能扩展

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

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

germania-kg/language-negotiation

Composer 安装命令:

composer require germania-kg/language-negotiation

包简介

Middleware to store negotiated client language in a Request attribute.

README 文档

README

Germania KG · Language Negotiation

Tests

This middleware stores the result of Will Durand's language Negotiation language in a Request attribute X-language-negotiated.

Works with both PSR-15 SinglePass and traditional Slim-like DoublePass approach.

Usage

Setup

<?php
use Germania\LanguageNegotiation\LanguageNegotiationMiddleware;
use Negotiation\LanguageNegotiator;

$negotiator = new LanguageNegotiator();  
$priorities = array('de', 'fu', 'en');

new LanguageNegotiationMiddleware($negotiator, $priorities);

Configuration using constructor :

// Defaults:
$accept_header = "Accept-Language";
$attr_name = "X-language-negotiated";
$logger = new Monolog // Any PSR-3 Logger; 

new LanguageNegotiationMiddleware($negotiator, $priorities, $accept_header, $attr_name, $logger);

Configuration using methods API:

$middleware = new LanguageNegotiationMiddleware($negotiator, $priorities);
$middleware->setAcceptLanguageHeader("Accept-Language");
$middleware->setRequestAttributeName("X-language-negotiated");
$middleware->setLogger( $psr3_logger );

Usage in Controller

Slim-like example:

<?php
class MyController
{
  public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $args)
  {
    	// S.th. like 'fu'
    	echo $request->getAttribute("X-language-negotiated");
  }
}

Development

$ git clone git@github.com:GermaniaKG/language-negotiation.git
$ cd language-negotiation
$ composer install

Unit tests

Either copy phpunit.xml.dist to phpunit.xml and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:

$ composer test
# or
$ vendor/bin/phpunit

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-09-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固