laravel框架常用composer拓展包或拓展服务快速查询列表

为了方便自己快速添加经过精挑细选的拓展包和拓展服务

1.Laravel-Excel(Excel导入生成)

  • github:Laravel-Excel
  • 官网:Laravel-Excel
  • 功能描述:可以把数据以Excel表格的形式导出,也可以导入Excel表格生成数据并插入数据库,同时还可以操作csv,pdf等文件。
  • 安装
//载入拓展包:在composer.json中的required中添加此条并composer update
"maatwebsite/excel": "~2.1.0"
//添加服务:添加到config.php providers数组中
Maatwebsite\Excel\ExcelServiceProvider::class,
//添加别名:添加到config.php aliases数组中
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
//生成配置文件:执行命令
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
  • 使用
//导入excel方法
//$excel_file_path = 你的 Excel 文件存放地址
$excel_data = Excel::load($excel_file_path, function($reader) {
    $excel_data = Excel::load($excel_file_path)->get()->toArray();
    //直接打印内容即可看到效果
    echo 'job.xlsx 表格内容为:';
    dd($excel_data);
});`
//导出excel方法
//导出 Excel 并能直接在浏览器下载
//$export_file_name = 要生成的文件名
Excel::create($export_file_name, function ($excel) {
    $excel->sheet('Sheetname', function ($sheet) {
        $sheet->appendRow(['data 1', 'data 2']);
        $sheet->appendRow(['data 3', 'data 4']);
        $sheet->appendRow(['data 5', 'data 6']);
    });
})->download('xls');
// 导出 Excel 并存储到指定目录
Excel::create($export_file_name, function ($excel) {
    $excel->sheet('Sheetname', function ($sheet) {
        $sheet->appendRow(['data 1', 'data 2']);
        $sheet->appendRow(['data 3', 'data 4']);
        $sheet->appendRow(['data 5', 'data 6']);
    });
})->store('xls', $object_path);`
  • 注意事项
    如果Excel导入时,中文有问题,需要修改excel.php
//取消使用ascii字符集
'to_ascii' => true,改为false

2.laravel-u-editor(UEditor富文本编辑器)

//载入拓展包:在composer.json中的required中添加此条并composer update
"stevenyangecho/laravel-u-editor": "~1.4"
//添加服务:添加到config.php providers数组中
'Stevenyangecho\UEditor\UEditorServiceProvider'
//生成配置文件:执行命令
php artisan vendor:publish
  • 使用
//在视图模板中引用ueditor的js和css文件
@include('UEditor::head');
//在视图模板中创建编辑器的容器
<!-- 加载编辑器的容器 -->
<script id="container" name="content" type="text/plain">
    这里写你的初始化内容
</script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
    var ue = UE.getEditor('container');
        ue.ready(function() {
        ue.execCommand('serverparam', '_token', '{{ csrf_token() }}');//此处为支持laravel5 csrf ,根据实际情况修改,目的就是设置 _token 值.    
    });
</script>

3.laravel-hashids(id加密)

//载入拓展包:执行命令
composer require vinkla/hashids
//添加服务:添加到config.php providers数组中
Vinkla\Hashids\HashidsServiceProvider::class
//添加别名:添加到config.php aliases数组中
'Hashids' => Vinkla\Hashids\Facades\Hashids::class
//生成配置文件:执行命令
php artisan vendor:publish
//修改hashids.php中的connections的盐值和加密输出长度
'connections' => [
        'main' => [
            'salt' => env('APP_KEY'),
            'length' => '16',
        ],
        'alternative' => [
            'salt' => env('APP_KEY'),
            'length' => '6',
        ],
        'recommend' => [
            'salt' => env('APP_KEY'),
            'length' => '6',
        ],
    ],
  • 使用
//在视图模板中引用ueditor的js和css文件
@include('UEditor::head');
//加密的使用方式
Hashids::encode(123);//返回经过加密后的字符串a9M4pPZqO0rJ6QWK
//解密的使用方式
//注意返回值是数组
Hashids::decode('a9M4pPZqO0rJ6QWK');//返回经过解密后的数组[123]
//同时加密多个参数
Hashids::encode(1,2,3);//M0BKxg8cYSNrVAjp
//解密多个参数的加密字符串
Hashids::decode('M0BKxg8cYSNrVAjp')//返回经过解密后的数组[1,2,3]
//切换不同的盐值和加密长度
//我们可能需要对多个不同类型的id进行加密,盐值和返回长度也各有不同。所以config的hashids中的多个数组可以派上用场了。其中main数组是作为默认连接,可以自行添加其他的加密数组。
Hashids::connection('recommend')->encode(1);
Hashids::connection('recommend')->decode("jflkasdjfkasdjfl");

4.intervention/image(图片压缩剪切处理)

//载入拓展包:执行命令
composer require intervention/image
//添加服务:添加到config.php providers数组中
Intervention\Image\ImageServiceProvider::class
//添加别名:添加到config.php aliases数组中
'Image' => Intervention\Image\Facades\Image::class
//生成配置文件:执行命令
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
  • 使用
//传入要处理的图片文件,调用图片处理方法即可生成图片
Image::make($request->file('image'))->size(300,400)->save(public_path() . '/uploads', 30);
  • 注意事项
    保存路径是绝对路径,而不是相对路径;
    无法自动创建目录,所以要使用File Facade 来创建分类目录;
    注意保存目录的权限,如果没有读写的权限,则会保存图片失败;

5.laravel-wechat(微信开发封装)

  • github:laravel-wechat
  • 官网:easywechat
  • 功能描述:简化微信开发,可直接使用各种封装好的方法等。
  • 安装
//载入拓展包:执行命令
composer require "overtrue/laravel-wechat:~3.0"
//添加服务:添加到config.php providers数组中
Overtrue\LaravelWechat\ServiceProvider::class,
//添加别名:添加到config.php aliases数组中
'EasyWeChat' => Overtrue\LaravelWechat\Facade::class,
//生成配置文件:执行命令
php artisan vendor:publish --provider="Overtrue\LaravelWechat\ServiceProvider"
//设置参数:在.env文件中设置微信appid和密钥
WECHAT_APPID
WECHAT_SECRET
WECHAT_TOKEN
WECHAT_AES_KEY
  • 使用
//解除对该路由的csrf保护,并将路由设置成any
Route::any('/wechat', 'WechatController@serve');
//创建微信实例
 public function serve()
    {
        $wechat = app('wechat');
        $wechat->server->setMessageHandler(function($message){
            return "欢迎关注 overtrue!";
        });
        return $wechat->server->serve();
    }

6.simple-qrcode(二维码生成)

  • github:simple-qrcode
  • 官网:simple-qrcode
  • 功能描述:简单快速生成各类二维码,网站、电话、网址、文字、数字等二维码。
  • 安装
//载入拓展包:在composer.json中的required中添加此条并composer update
"simplesoftwareio/simple-qrcode": "~1"
//添加服务:添加到config.php providers数组中
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
//添加别名:添加到config.php aliases数组中
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
  • 使用
//直接在blade视图模板中生成并显示二维码
//此二维码好像是生成svg类型的矢量图形
<div class="visible-print text-center">
    {!! QrCode::size(100)->generate(Request::url()); !!}
    <p>扫我回到来源页</p>
</div>
//在服务器端生成二维码图片,并保存
//format是将二维码格式化成相应格式
QrCode::format('png')->generate('Embed me into an e-mail!'), 'QrCode.png', 'image/png')

后续将持续更新其他优秀拓展包

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容