polyglot / template-provider-memory
PHP Polyglot 内存模板提供者
v1.0.0
2023-09-08 19:34 UTC
Requires
- php: ^7.4 || ^8.0
- ext-mbstring: *
- polyglot/contract-template-provider: ^1.0
Requires (Dev)
- phpunit/phpunit: ^6.5 || ^7.5 || 8.5 || 9.5
- squizlabs/php_codesniffer: ^3.7
Provides
This package is not auto-updated.
Last update: 2024-09-21 22:46:57 UTC
README
这是一个简单的 polyglot 简单 PHP 文件模板提供者。
安装
composer require polyglot/template-provider-php-file:^1.0
使用
创建翻译文件
<?php // /path/to/translations/messages/en_US.php return [ 'no_deep' => '"no_deep" template in "messages" domain (en_US)', 'foo' => [ 'bar' => '"foo.bar" template in "messages" domain (en_US)', 'baz' => '"foo.baz" template in "messages" domain (en_US)', ], 'h' => [ 'e' => [ 'l' => [ 'l' => [ 'o' => '"h.e.l.l.o" template in "messages" domain (en_US)', ], ], ], ], ];
<?php // /path/to/translations/messages/ru_RU.php return [ 'no_deep' => '"no_deep" шаблон в домене "messages" (ru_RU)', 'foo' => [ 'bar' => '"foo.bar" шаблон в домене "messages" (ru_RU)', 'baz' => '"foo.baz" шаблон в домене "messages" (ru_RU)', ], 'h' => [ 'e' => [ 'l' => [ 'l' => [ 'o' => '"h.e.l.l.o" шаблон в домене "messages" (ru_RU)', ], ], ], ], ];
<?php $directory = '/path/to/translations'; $provider = new \Polyglot\PhpFileTemplateProvider\PhpFileTemplateProvider($directory); $provider->get('messages', 'no_deep', 'en_US'); // returns '"no_deep" template in "messages" domain (en_US)' $provider->get('messages', 'foo.bar', 'en_US'); // returns '"foo.bar" template in "messages" domain (en_US)' $provider->get('messages', 'foo.baz', 'en_US'); // returns '"foo.baz" template in "messages" domain (en_US)' $provider->get('messages', 'h.e.l.l.o', 'en_US'); // returns '"h.e.l.l.o" template in "messages" domain (en_US)' $provider->get('messages', 'no_deep', 'ru_RU'); // returns '"no_deep" шаблон в домене "messages" (ru_RU)' $provider->get('messages', 'foo.bar', 'ru_RU'); // returns '"foo.bar" шаблон в домене "messages" (ru_RU)' $provider->get('messages', 'foo.baz', 'ru_RU'); // returns '"foo.baz" шаблон в домене "messages" (ru_RU)' $provider->get('messages', 'h.e.l.l.o', 'ru_RU'); // returns '"h.e.l.l.o" шаблон в домене "messages" (ru_RU)' // throws Polyglot\Contract\TemplateProvider\Exception\TemplateNotFound exception $provider->get('messages', 'h.e.l.l.o', 'fr_FR');