laravel/socialite
提供與 Facebook,微博,谷歌,LinkedIn,GitHub等 OAuth認證。
github 地址
https://github.com/laravel/socialite
安裝
composer require laravel/socialite
guzzle/guzzle | guzzlehttp/guzzle
是一個PHP HTTP客戶端,可以很容易地傳送HTTP請求和瑣碎與Web服務整合
github 地址
https://github.com/guzzle/guzzle
安裝
見github
文件
http://guzzlephp.org/
版本
Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version |
---|---|---|---|---|---|---|---|
3.x | EOL | guzzle/guzzle | Guzzle | v3 | v3 | No | >= 5.3.3 |
4.x | EOL | guzzlehttp/guzzle | GuzzleHttp | v4 | N/A | No | >= 5.4 |
5.x | Maintained | guzzlehttp/guzzle | GuzzleHttp | v5 | v5 | No | >= 5.4 |
6.x | Latest | guzzlehttp/guzzle | GuzzleHttp | v6 | v6 | Yes | >= 5.5 |
Baum\Node
Baum是Laravel 5的Eloquent ORM 的巢狀集模式的實現, 無限級分類。
github 地址
https://github.com/etrepat/baum
使用例項
- ancestorsAndSelf 獲取所有祖先鏈節點,包括當前鏈節點。
- ancestors 獲取所有祖先鏈節點,不包括當前鏈節點。
$articleCats = $articleCats->where('id', 5)->first()->ancestorsAndSelf()->get()->toArray();
Array
(
[0] => Array
(
[value] => 1
[parent_id] => 0
[label] => 第一個一級分類
)
[1] => Array
(
[value] => 4
[parent_id] => 1
[label] => 二級分類
)
[2] => Array // 這個是自己
(
[value] => 5
[parent_id] => 4
[label] => 三級分類
)
)
- siblingsAndSelf 獲取自己兄弟接點,同一父親,包括自己
- siblings 獲取自己兄弟接點,同一父親,不包括自己
$articleCats = $articleCats->where('id', 1)->first()->siblingsAndSelf()->get()->toArray();
Array
(
[0] => Array
(
[value] => 1
[parent_id] => 0
[label] => 第一個一級分類
)
[1] => Array // 自己
(
[value] => 2
[parent_id] => 0
[label] => 第二個一級分類
)
[2] => Array
(
[value] => 3
[parent_id] => 0
[label] => 第三個一級分類
)
)
- leaves 最後一個沒有孩子的節點
$articleCats = $articleCats->where('id', 1)->first()->leaves()->get()->toArray();
Array
(
[0] => Array // 沒有子節點
(
[parent_id] => -> ...->... 1
[value] => 5
[label] => 三級分類
)
)
- descendantsAndSelf 所有子節點,包括自己
- descendants 所有子節點,不包括自己
$articleCats = $articleCats->where('parent_id', 0)->first()->descendantsAndSelf()->get()->toArray();
Array
(
[0] => Array // 自己
(
[parent_id] => 0
[value] => 1
[label] => 第一個一級分類
)
[1] => Array
(
[parent_id] => 1
[value] => 4
[label] => 二級分類
)
[2] => Array
(
[parent_id] => 4
[value] => 5
[label] => 三級分類
)
)
- 獲取所有 分類包括所有子節點
- toHierarchy() 按照 層級組合結果
$articleCats = ArticleCat::where('parent_id', 0)->get();
foreach($articleCats as $key => $descendant) {
$articleCats[$key]->children = array_values($descendant->getDescendants()->toHierarchy()->toArray());
}
Array
(
[0] => Array
(
[id] => 1
[parent_id] => 0
[value] => 1
[label] => 第一個一級分類
[children] => Array
(
[0] => Array
(
[id] => 4
[parent_id] => 1
[value] => 4
[label] => 二級分類
[children] => Array
(
[0] => Array
(
[id] => 5
[parent_id] => 4
[value] => 5
[label] => 三級分類
[children] => Array
(
)
)
)
)
)
)
[1] => Array
(
[id] => 2
[parent_id] => 0
[value] => 2
[label] => 第二個一級分類
[children] => Array
(
[0] => Array
(
[id] => 6
[parent_id] => 2
[value] => 6
[label] => 又一個二級分類
[children] => Array
(
)
)
)
)
[2] => Array
(
[id] => 3
[parent_id] => 0
[children] => Array
(
)
[value] => 3
[label] => 第三個一級分類
)
)
simplesoftwareio/simple-qrcode
外掛是基於 Laravel 5 的二維碼生成外掛
github 地址
https://github.com/SimpleSoftwareIO/simple-qrcode
使用例項
// 生成二維碼,儲存成 svg ,svg 為預設格式
QrCode::generate('Hello,LaravelAcademy!', public_path('qrcodes/qrcode.svg'));
// 生成png 格式二維碼,儲存到本地,並且 中間有圖示,大小,顏色,背景,邊距,編碼
QrCode::format('png')
->encoding('UTF-8')
->size(200)
->color(255, 0, 255)
->backgroundColor(255, 255, 0)
->margin(1)
->merge('/public/images/no_pic.jpg', .15)
->generate('Hello,LaravelAcademy!', public_path('qrcodes/qrcode.png'));
// 生成 png 格式的二維碼 以png 方式返回http 相應
$qrcode = QrCode::format('png')->size(300)->generate('this is png encode!');
return response($qrcode, 200)->header('Content-Type', "png");