mvccore/ext-router-module-media-localization

MvcCore - 扩展 - 路由 - 媒体和本地化模块 - 在单个项目中管理多个网站,管理不同模板/CSS/JS文件的渲染的网站媒体版本(全/平板/手机),以及管理网站本地化(语言或语言和区域),op


README

Latest Stable Version License PHP Version

MvcCore 路由扩展,用于在单个项目中管理多个网站,管理网站媒体版本(全/平板/手机)的不同模板/css/js文件的渲染,以及管理网站本地化(语言或语言和区域),定义在域路由中,通过URL中的模块属性完成。

这个路由器是处理您的请求的方式,在域级别使用参数或变量部分、命名空间、默认参数值等,以及网站媒体版本和本地化。

概述

  1. 安装
  2. 功能
  3. 工作原理
  4. 用法

1. 安装

composer require mvccore/ext-router-module-media-localization

返回顶部

2. 功能

扩展具有以下扩展相同的功能

网站媒体版本和本地化可以包含在任何模块域路由中,作为命名参数 <media_version> 和/或 <localization> 匹配URL请求,如下所示

  • http://en-US.example.com/anything
  • http://de-DE.example.com/etwas
  • http://mobile.en-US.example.com/anything
  • http://mobile.de-DE.example.com/etwas
new \MvcCore\Ext\Routers\Modules\Route([
    "pattern"              => "//[<media_version>.]<localization>.example.com",
    "module"               => "main",
    "constraints"          => ["media_version" => "www|mobile", "localization" => "-a-zA-Z0-9"],
]);

如果匹配的模块域路由模式中不包含参数 <media_version> 和/或 <localization>,则网站媒体版本和/或本地化参数必须包含在URL地址开头,如下所示

  • http://www.example.com/en-US/anything
  • http://www.example.com/mobile/en-US/anything
  • http://www.example.com/de-DE/etwas
  • http://www.example.com/mobile/de-DE/etwas

URL地址中包含的确切程度取决于高级路由配置,如允许的媒体版本等...

返回顶部

3. 工作原理

扩展与以下扩展以相同的方式工作

路由器由上述扩展中的特质组成。

返回顶部

4. 用法

用法 - Bootstrap 初始化

将此添加到 /App/Bootstrap.php应用程序开始处,在应用程序路由或任何其他使用路由器进行任何目的的扩展配置之前

$app = \MvcCore\Application::GetInstance();
$app->SetRouterClass('\MvcCore\Ext\Routers\ModuleMediaAndLocalization');
...
// to get router instance for next configuration:
/** @var \MvcCore\Ext\Routers\ModuleMediaAndLocalization $router */
$router = \MvcCore\Router::GetInstance();

所有其他特定用法和高级配置与以下扩展相同

返回顶部