zvermafia / transliteration-laravel
zvermafia/transliteration与Laravel的集成
Requires
- php: >=7.1.3
- laravel/framework: ^5.6 || ^6.0 || ^7.0
- zvermafia/transliteration: ~0.1
Requires (Dev)
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-26 03:19:22 UTC
README
将zvermafia/transliteration与Laravel集成。
按章节导航
安装
通过Composer
$ composer require zvermafia/transliteration-laravel
设置
有两个选项可供选择,alif
和 lotin
。使用 alif
选项将使用 alif.uz 的API。而使用 lotin
选项将使用 lotin.uz 的API。
默认选项是 alif
。但如果你想将其更改为 lotin
选项,只需在 .env 文件中添加一个值为 lotin
的 TRANSLITERATOR
键即可。
TRANSLITERATOR=lotin
但如果你想通过自己的实现扩展此包,则需要发布包的配置文件并更新它以使用您的选项。
要发布配置文件,只需在项目根目录下执行 php artisan vendor:publish
命令,并选择 Zvermafia\TransliterationLaravel\TransliteratorServiceProvider
作为提供者。
用法
您可以使用 LaraTransliterator
门面,但以下示例将展示另一种方法。假设我们有一个 PoorWorkerController,其中有一个 translit 方法,我们想将请求的文本进行转写(通过POST方法),并以JSON格式返回结果。
<?php namespace App\Http\Controllers; // use LaraTransliterator; // but we won't use the facade in this example use Zvermafia\Transliteration\Interfaces\TransliteratorInterface; class PoorWorkerController { public function translit(Request $request, TransliteratorInterface $transliterator) { $result = $transliterator->setText($request->input('text')) ->toCyrillic() ->translit() ->getResult(); return response()->json(compact('result')); } }
对于AJAX请求,您可以使用现成的控制器!首先,您必须为控制器定义一个路由
// in your routes file Route::post('translit', '\Zvermafia\TransliterationLaravel\Controllers\TransliteratorController');
以下我们将使用 jQuery 库进行AJAX请求的演示
$.ajax({ url: '/translit', type: 'POST', data: { // _token: $('meta[name="csrf-token"]').attr('content'), text: 'Salom, dunyo!', to_cyrillic: 1 }, dataType: 'JSON' }) .done(function (response) { if (response.code === 200) { alert(response.result); } else { alert('Something went wrong... Check the console for logs, please.'); console.log(response); } }) .fail(function (response) { console.log('Whoops, something went wrong... Check the response below:'); console.log(response); });
// A response will be like below: { "code": 200, "text": "Salom, dunyo!", "to_cyrillic": 1, "result": "Салом, дунё!" } // Or if an error occurs the response code will be different from 200 // and response will be like below: { "code": 200, "message": "Transliterated text", }
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 了解详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 mohirjon@gmail.com 而不是使用问题跟踪器。
致谢
许可协议
MIT许可(MIT)。请参阅 许可文件 了解更多信息。