项目下输入: composer require mcamara/laravel-localization
在 config/app.php

        'providers' => [
        // [...]
                Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider::class,
        ],  
        'aliases' => [
        // [...]
                'LaravelLocalization' => Mcamara\LaravelLocalization\Facades\LaravelLocalization::class,
        ],
然后输入命令:
~ php artisan vendor:publish –provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider"
然后 在 config/laravellocalization.php 配置你的语言配置,把zh 注释打开。

你也可以使用另一种方式,单独配置语言文件conf
新建 app/providers/ConfigServicePovider.php 文件

输入如下内容,并添加到config/app.php ( App\Providers\ConfigServiceProvider::class )

<?php 
namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class ConfigServiceProvider extends ServiceProvider {
    public function register()
    {
        config([
            'laravellocalization.supportedLocales' => [
                'en'  => array( 'name' => 'English', 'script' => 'Latn', 'native' => 'English' ),
                'zh'  => ['name' => 'Chinese (Simplified)',   'script' => 'Hans', 'native' => '简体中文', 'regional' => 'zh'],
            ],

            'laravellocalization.useAcceptLanguageHeader' => true,

            'laravellocalization.hideDefaultLocaleInURL' => true
        ]);
    }
然后在配置路由,在routes/web.php增加:

Route::group(['prefix' => LaravelLocalization::setLocale()], function()
{
    /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
    Route::get('/', function()
    {
        return trans('welcome.name');
    });

});

在resources增加对应zh目录,建立welcome.php
内容为:
return [‘name’=>’你好’];
在resources增加对应en目录,建立welcome.php
内容为:
return [‘name’=>’hello’];

然后访问
域名.com/en
域名.com/cn
域名.com
就可以看到翻译文件生效了

中间件形式
在 app/Http/Kernel.php 添加如下内容

<?php namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel {
    /**
     * The application's route middleware.
     *
     * @var array
     */
    protected $routeMiddleware = [
        /**** OTHER MIDDLEWARE ****/
        'localize' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class,
        'localizationRedirect' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
        'localeSessionRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class,
                'localeViewPath' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class
        // REDIRECTION MIDDLEWARE
    ];
}

路由文件这样写:

// app/Http/routes.php

Route::group(
[
    'prefix' => LaravelLocalization::setLocale(),
    'middleware' => [ 'localeSessionRedirect', 'localizationRedirect', 'localeViewPath' ]
],
function()
{
    /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
    Route::get('/', function()
    {
        return View::make('hello');
    });

    Route::get('test',function(){
        return View::make('test');
    });
});

更多内容请参考: https://github.com/mcamara/laravel-localization[/danger]

tp5.1 使用swoole做服务器简单的接口性能测试

官方测试地址:官方测试 最近在看tp5.1的think-swoole支持,作为替代php-fpm的一种方案,现在简单的用swoole做为http服务器和用传统的php-fpm分别测试下接口...

阅读全文

PHP函数学习之——func_get_args

官方说明 说明 func_get_args ( void ) : array 获取函数参数列表的数组。 该函数可以配合 func_get_arg() 和 func_num_args() 一起使用,从而使得用户自定...

阅读全文

Mysql 分页优化

在系统中需要进行分页的时候,我们通常会使用limit 加上偏移量的方法实现,再加上合适的order by 子句,如果有对应的索引,通常效率会很不错,否则mysql需要...

阅读全文

欢迎留言