4myth / laravel-tools
laravel框架工具
2.0.0
2024-02-02 22:49 UTC
Requires
- php: >=8.2
- laravel/framework: >=9.0
Requires (Dev)
- akaunting/laravel-setting: >=1.0
- barryvdh/laravel-ide-helper: ^2.13
- barryvdh/laravel-snappy: ^1.0@dev
- bavix/laravel-wallet: ^9.6
- beyondcode/laravel-websockets: ^1.13
- ctwillie/expo-server-sdk-php: ^2.0
- fakerphp/faker: ^1.9.1
- geniusts/hijri-dates: >=1.0
- laravel/pint: ^1.0
- laravel/sail: ^1.18
- maatwebsite/excel: ^3.1
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.0
- phpunit/phpunit: ^10.1
- simplesoftwareio/simple-qrcode: ~4
- spatie/laravel-ignition: ^2.0
- spatie/laravel-medialibrary: ^11.0.0
README
laravel框架工具。对开发API应用很有用。支持JS框架如vuejs & vuetify。所有文档正在建设中。
安装
使用composer
composer require 4myth/laravel-tools
发布
提供者
php artisan vendor:publish --provider="Myth\LaravelTools\Providers\ServiceProvider"
配置
php artisan vendor:publish --tag=4myth-tools-config
迁移
php artisan vendor:publish --tag=4myth-tools-migrations
视图
php artisan vendor:publish --tag=4myth-tools-views
语言
php artisan vendor:publish --tag=4myth-tools-lang
模型
php artisan vendor:publish --tag=4myth-tools-models
公开资产
php artisan vendor:publish --tag=4myth-tools-assets
工具中间件
- 将阿拉伯数字转换为英文。
postman
用于创建Postman文档。permission
用于为路由设置权限。只有auth中间件
将阿拉伯数字转换为英文
编辑文件 app/Http/Kernel.php
。
use Myth\LaravelTools\Http\Middleware\ArToEnMiddleware;
protected $middleware = [
...Your Middleware
ArToEnMiddleware::class
]
Postman文档示例
定义你的路由。例如,在 routes/api.php
中
Route::group(['middleware' => ['postman']], function(Router $router){
your routes here
});
编辑 app/Http/Kernel.php
以在内核中定义路由中间件。
use Myth\LaravelTools\Http\Middleware\PostmanMiddleware;
protected $routeMiddleware = [
...Your Middleware
'postman' => PostmanMiddleware::class,
]
权限示例
定义你的路由。例如,在 routes/api.php
中
Route::group(['middleware' => ['auth:sanctum', 'permission']], function(Router $router){
Route::get('route-path', [UserController::class, 'example'])->name('example');
Route::get('route-path', [UserController::class, 'example'])->name('Model.DeleteFile');
Route::get('', [UserController::class, 'index'])->name('User.index');
});
权限的名称取决于路由名称。例如:example
,User.index
和 Model.DeleteFile
编辑 app/Http/Kernel.php
以在内核中定义路由中间件。
use Myth\LaravelTools\Http\Middleware\PermissionMiddleware;
protected $routeMiddleware = [
...Your Middleware
'permission' => PermissionMiddleware::class,
]
工具命令
php artisan myth:postman
Postman API文档。只有具有postman
中间件的路由php artisan myth:js-lang
将语言文件导出到JSphp artisan myth:model
为模型创建CRUD
Laravel文件系统
此工具使用laravel文件系统 config/filesystems.php
类型:root
,app
,setup
,logs
,media
,pdf
,excel
和 qr
'disks' => [
... your disks
'root' => [
'driver' => 'local',
'root' => base_path(),
'throw' => false,
],
'app' => [
'driver' => 'local',
'root' => app_path(),
'throw' => false,
],
'logs' => [
'driver' => 'local',
'root' => storage_path('logs'),
'throw' => false,
],
'setup' => [
'driver' => 'local',
'root' => resource_path('setup'),
'throw' => false,
],
'media' => [
'driver' => 'local',
'root' => storage_path('app/public/media'),
'url' => env('APP_URL').'/storage/media',
'visibility' => 'public',
'throw' => false,
],
'pdf' => [
'driver' => 'local',
'root' => storage_path('app/public/pdf'),
'url' => env('APP_URL').'/storage/pdf',
'visibility' => 'public',
'throw' => false,
],
'excel' => [
'driver' => 'local',
'root' => storage_path('app/public/excel'),
'url' => env('APP_URL').'/storage/excel',
'visibility' => 'public',
'throw' => false,
],
'qr' => [
'driver' => 'local',
'root' => storage_path('app/public/qr'),
'url' => env('APP_URL').'/storage/qr',
'visibility' => 'public',
'throw' => false,
],
]