ThinkPHP6 は、非常に優れたコード管理とスケーラビリティを提供する優れた PHP 開発フレームワークです。実際の開発では、グローバル化の傾向に伴い、多言語サポートを必要とする Web サイトがますます増えています。では、ThinkPHP6 で多言語 Web サイトを実装するにはどうすればよいでしょうか?この記事では以下の4つの観点から解説していきます。
1. 設定ファイルで多言語変数を定義する
ThinkPHP6 では、設定ファイルを通じて多言語変数を定義することを強くお勧めします。まず、config
ディレクトリに lang.php
ファイルを作成し、その中に多言語配列を定義する必要があります。たとえば、次のようになります。
<?php return [ 'welcome' => '欢迎', 'hello' => '你好', 'bye' => '再见', ... ];
その後、次のように渡します。 # コントローラー内の ##lang ヘルパー関数を使用して、これらの多言語変数を取得します。例:
echo lang('welcome');この方法では、Web サイトでさまざまな言語をサポートする必要がある場合、# を変更するだけで済みます。 ##lang.php
ファイル の対応する多言語変数値。 2. ミドルウェアを使用して言語に応じてセッションを設定する
別の言語を切り替えることができるようにするには、Web サイトで言語セッションを設定する必要があります。この言語セッションは、フロント デスクから渡されたパラメーターまたはブラウザーの設定に基づいて自動的に認識できます。
ThinkPHP6 では、ミドルウェアを通じてこの機能を実装できます。
app/middleware ディレクトリに Language.php
ミドルウェア ファイルを作成します。コードは次のとおりです: <pre class='brush:php;toolbar:false;'><?php
namespace appmiddleware;
use thinkacadeSession;
use thinkRequest;
class Language
{
public function handle(Request $request, Closure $next)
{
$lang = $request->param('lang');
if(!in_array($lang, ['zh-cn', 'en-us'])){
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
Session::set('lang', $lang);
return $next($request);
}
}</pre>
その中で、渡された言語パラメータが正当であるかどうかを確認しますそうでない場合、ルールはブラウザ設定の言語パラメータを使用します。
このミドルウェアを
app/middleware.php に導入し、複数の言語をサポートする必要があるコントローラーで使用します。例: <pre class='brush:php;toolbar:false;'><?php
namespace appcontroller;
use thinkacadeSession;
class Index
{
public function index()
{
$lang = Session::get('lang');
return lang('welcome');
}
}</pre>
3. 複数の言語のルーティングを使用する
多言語ルーティングをサポートする必要がある一部のニーズに対して、ThinkPHP6 は非常に便利な方法を提供します。たとえば、次の 2 つのルートを定義できます:
Route::get(':lang/index', 'index/index'); Route::get(':lang/about', 'index/about');
これにより、
https://example.com/zh-cn/index と https://example にアクセスします。 .com /zh-cn/about
は対応するコントローラーに入ります。フロント デスクは言語パラメーターを個別に渡す必要はありません。 4. テンプレート タグを使用して多言語コンテンツを出力する
最後に、フォアグラウンドで多言語変数を出力する必要があります。このとき、ThinkPHP6 が提供する「テンプレートタグ」機能を使用できます。たとえば、
{: lang('welcome') }
もちろん、次の方法を使用することをお勧めします。
{lang name="welcome"}
このように、対応する多言語変数を出力でき、いくつかのデフォルト値とパラメータを追加することもできます。
概要
上記は、ThinkPHP6 で多言語 Web サイトを実装する方法です。多言語変数を定義し、ミドルウェアを使用してセッションを設定し、多言語ルーティングとテンプレート タグを使用して多言語コンテンツを出力することで、完全な多言語 Web サイトを簡単に構築できます。もちろん、実際の開発ではいくつかの詳細を考慮する必要がありますが、上記の方法は ThinkPHP6 での多言語開発に非常に優れた基盤を提供します。
以上がThinkPHP6 で多言語 Web サイトを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









