makidizajnerica/laravel-expanded
最新稳定版本:v0.5
Composer 安装命令:
composer require makidizajnerica/laravel-expanded
包简介
Collection of Laravel helpers.
README 文档
README
Collection of Laravel helpers.
Installation
composer require makidizajnerica/laravel-expanded
Usage
Traits
MakiDizajnerica\Expanded\Concerns\Models\Collectionable
Easily define model collection without writing newCollection method:
<?php namespace App\Models; use App\Collections\UserCollection; use Illuminate\Database\Eloquent\Model; use MakiDizajnerica\Expanded\Concerns\Models\Collectionable; class User extends Model { use Collectionable; /** * @var class-string */ protected $collection = UserCollection::class; // ... }
MakiDizajnerica\Expanded\Concerns\Models\Routable
Easily define model route key without writing getRouteKeyName method:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use MakiDizajnerica\Expanded\Concerns\Models\Routable; class User extends Model { use Routable; /** * @var string */ protected $routeKeyName = 'uuid'; protected $fillable = [ 'uuid', 'username', 'email', // ... ]; // ... }
MakiDizajnerica\Expanded\Concerns\EnumToArray
Enum helper:
<?php namespace App\Enums; use MakiDizajnerica\Expanded\Concerns\EnumToArray; enum UserType: int { use EnumToArray; case user = 1; case moderator = 2; case admin = 3; } // Get the names of the cases: var_dump(UserType::names()); // array(3) { // [0]=> string(4) "user" // [1]=> string(9) "moderator" // [2]=> string(5) "admin" // } // Get the values of the cases: var_dump(UserType::values()); // array(3) { // [0]=> int(1) // [1]=> int(2) // [2]=> int(3) // } // Get array representation of the enum: var_dump(UserType::toArray()); // array(3) { // ["user"]=> int(1) // ["moderator"]=> int(2) // ["admin"]=> int(3) // }
Mixins
MakiDizajnerica\Expanded\Mixins\ArrMixin
Register MakiDizajnerica\Expanded\Mixins\ArrMixin inside boot method of the App\Providers\AppServiceProvider:
<?php use Illuminate\Support\Arr; use Illuminate\Support\ServiceProvider; use MakiDizajnerica\Expanded\Mixins\ArrMixin; class AppServiceProvider extends ServiceProvider { // ... /** * Bootstrap any application services. */ public function boot(): void { Arr::mixin(new ArrMixin); } // ... }
Now you have some methods available:
@Todo
MakiDizajnerica\Expanded\Mixins\StrMixin
Register MakiDizajnerica\Expanded\Mixins\StrMixin inside boot method of the App\Providers\AppServiceProvider:
<?php use Illuminate\Support\Str; use Illuminate\Support\ServiceProvider; use MakiDizajnerica\Expanded\Mixins\StrMixin; class AppServiceProvider extends ServiceProvider { // ... /** * Bootstrap any application services. */ public function boot(): void { Str::mixin(new StrMixin); } // ... }
Now you have some methods available:
username
Convert email to username using username method:
<?php use Illuminate\Support\Str; $username = Str::username('random-user-123@mail.com'); var_dump($username); // string(10) "randomuser123"
Author
Nemanja Marijanovic (n.marijanovic@hotmail.com)
Licence
Copyright © 2021, Nemanja Marijanovic n.marijanovic@hotmail.com
All rights reserved.
For the full copyright and license information, please view the LICENSE file that was distributed within the source root of this package.
统计信息
- 总下载量: 37
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-08-29