• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏为木唯品吧

ThinkPHP 6.0 多语言优化扩展包的安装与使用_PHP开发框架教程

开发框架 为木唯品网 3周前 (06-23) 14次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

PHP Laravel定时任务Schedule【干货】_PHP开发框架教程

下面由Laravel教程栏目给大家介绍PHP Laravel定时任务Schedule,希望对需要的朋友有所帮助!前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样)。

下面由
thinkphp框架教程栏目给大家介绍ThinkPHP 6.0 多语言优化扩展包,希望对需要的朋友有所帮助!

ThinkPHP 6.0 多语言优化扩展包的安装与使用_PHP开发框架教程

think-lang

ThinkPHP 6.0 多语言优化扩展包

https://github.com/TLingC/think-lang

特色

  1. 支持通过如 mywebsite.com/zh-hans/ 的二级目录访问对应语言页面。
  2. 支持每种语言的语言包单独成目录,目录下可设有二级目录。

安装

composer require tlingc/think-lang

使用

基础配置

请参照 官方文档(https://www.kancloud.cn/manual/thinkphp6_0/1037637) 进行相关配置。同时注意如下与官方文档的不同点。

开启和加载语言包

中间件名称为:

'tlingc\lang\middleware\LoadLangPack',

由于多语言通过二级目录访问,使用Cookie保存语言 功能无效。

ThinkPHP6中的事务操作_PHP开发框架教程

事务操作对很多新人来说,可能有点陌生,即使看了ThinkPHP6官方手册中事务操作的部分,也仍然不知所解。下面就给大家介绍下事务操作。一、先说说使用场景。假设我需要给朋友转账1000元钱,正常的业务逻辑是:1、银行从我的账户中扣除1000元  2、银行给朋友账户加上1000元。如果一切顺利,则转账成功!那么问题来了,如果我不小心把银行账户输错,导致银行查找不到我输入的银行账户,…

语言文件定义

自动加载的应用语言文件:

// 单应用模式app\lang\当前语言.php
app\lang\当前语言\*.php
app\lang\当前语言\*\*.php// 多应用模式app\应用\lang\当前语言.php
app\应用\lang\当前语言\*.php
app\应用\lang\当前语言\*\*.php

请注意此扩展包没有对语言包解析行为进行修改,语言文件的文件名不会影响语言分组,在多个文件中存在相同定义时会导致被覆盖。

路由设置

使用二级目录访问对应语言页面,必须使用路由定义,同时建议开启 强制路由 模式。

use think\facade\Config;Route::view('/', 'index/index');$langs = Config::get('lang.allow_lang_list');foreach($langs as $lang){
	Route::rule($lang . '/', 'index/index');
	Route::rule($lang . '/welcome', 'index/welcome');}

重写 url 助手函数

在应用公共文件 common.php 中加入。

use think\facade\Request;use think\facade\Lang;use think\facade\Route;use think\route\Url as UrlBuild;function url(string $url = '', array $vars = [], $suffix = true, $domain = false, $lang = true, $replace = false): UrlBuild{
    if (!$lang) {
		if($replace) {
			$explode = explode('/', Request::url(), 3);
			$url = $url . $explode[2];
		}
        return Route::buildUrl($url, $vars)->suffix($suffix)->domain($domain);
	}
	$lang = Lang::getLangSet();
	return Route::buildUrl('/' . $lang . $url, $vars)->suffix($suffix)->domain($domain);}

对比官方提供的助手函数,增加了 $lang$replace 参数。

普通跳转,生成url时会自动带上前方的语言名称。

url('/welcome')

如需仅替换url中的语言名称(如在语言选择器中使用),把 $replace 参数置为 true 即可。

TODO

  • 整合路由定义方法。
  • 整合重写url参数。

以上就是ThinkPHP 6.0 多语言优化扩展包的安装与使用的详细内容,更多请关注ki4网其它相关文章!

你知道laravel事件的实现原理吗_PHP开发框架教程

下面由Laravel教程栏目给大家介绍laravel事件的实现原理,希望对需要的朋友有所帮助!1.配置事件和监听器App\Providers\ EventServiceProvider的listen…


为木唯品 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP 6.0 多语言优化扩展包的安装与使用_PHP开发框架教程
喜欢 (0)
[1353713598@qq.com]
分享 (0)
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址