中文语言包
会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。
我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:
$ composer require "overtrue/laravel-lang:~3.0"
完成上面的操作后,将项目文件 config/app.php
中的下一行
Illuminate\Translation\TranslationServiceProvider::class,
替换为:
Overtrue\LaravelLang\TranslationServiceProvider::class,
Laravel Lang 同自定义语言包一样,都是根据 config/app.php
里 locale
的选项来选择语言的。
值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:
$ php artisan lang:publish zh-CN
发布后的语言文件存放于 resources/lang/zh-CN
文件夹。
注册验证码
安装扩展包
我们将以第三方扩展包 mews/captcha 作为基础来实现 Laravel 中的验证码功能。
使用 Composer 安装:
$ composer require "mews/captcha:~2.0"
运行以下命令生成配置文件 config/captcha.php
:
$ php artisan vendor:publish --provider='Mews\Captcha\CaptchaServiceProvider'
我们可以打开配置文件,查看其内容:
config/captcha.php
<?php
return [
'characters' => ['2', '3', '4', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'm', 'n', 'p', 'q', 'r', 't', 'u', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'M', 'N', 'P', 'Q', 'R', 'T', 'U', 'X', 'Y', 'Z'],
'default' => [
'length' => 9,
'width' => 120,
'height' => 36,
'quality' => 90,
'math' => false,
],
'math' => [
'length' => 9,
'width' => 120,
'height' => 36,
'quality' => 90,
'math' => true,
],
'flat' => [
'length' => 6,
'width' => 160,
'height' => 46,
'quality' => 90,
'lines' => 6,
'bgImage' => false,
'bgColor' => '#ecf2f4',
'fontColors' => ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'],
'contrast' => -5,
],
'mini' => [
'length' => 3,
'width' => 60,
'height' => 32,
],
'inverse' => [
'length' => 5,
'width' => 120,
'height' => 36,
'quality' => 90,
'sensitive' => true,
'angle' => 12,
'sharpen' => 10,
'blur' => 2,
'invert' => true,
'contrast' => -5,
]
];
可以看到这些配置选项都非常通俗易懂,characters
选项是用来显示给用户的所有字符串,default
, flat
, mini
, inverse
分别是定义的四种验证码类型,你可以在此修改对应选项自定义验证码的长度、背景颜色、文字颜色等属性,在此不做过多叙述。
裁剪图片
我们个人空间里显示区域最大也就 208px,即使要兼容 视网膜屏幕(Retina Screen) 的话,最多也就需要 208px * 2 = 416px 。图片太大会拖慢页面的加载速度,所以接下来我们将对此进行优化。
我们将使用备受欢迎的 Intervention/image 扩展包来处理图片裁切的逻辑,接下来我们需要先安装此扩展包;
1.安装扩展包
- composer安装
$ composer require intervention/image
- 配置信息
执行以下命令获取配置信息:
$ php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
Debugbar页面调优
使用 Composer 安装:
$ composer require "barryvdh/laravel-debugbar:~3.2" --dev
生成配置文件,存放位置 config/debugbar.php
:
$ php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
打开 config/debugbar.php
,将 enabled
的值设置为:
'enabled' => env('APP_DEBUG', false),
修改完以后,Debugbar 分析器的启动状态将由 .env
文件中 APP_DEBUG
值决定。
刷新前台页面之后会出现我们的开发者工具栏
单元测试包
安装以下两个依赖包用于软件的单元测试
$ composer require phpunit/phpunit mockery/mockery
$ composer require aliyuncs/oss-sdk-php
- phpunit/phpunit mockery/mockery 用于单元测试的组件
- aliyuncs/oss-sdk-php 阿里云提供的OSS上传库