nevestul4o / network-controller
为laravel设置的基本API控制器集
v2.5.2
2024-09-09 10:47 UTC
Requires
- php: ^8.0.2
- ext-imagick: *
- laravel/framework: ^9.0|^10.0|^11.0
- league/fractal: ^0.19.0|^0.20.0
- dev-master
- v2.5.2
- v2.5.1
- v2.5.0
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.6
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- dev-develop
This package is auto-updated.
Last update: 2024-09-09 10:47:24 UTC
README
使用以下
php artisan vendor:publish
命令来发布 NetworkController
配置。
- 所有控制器都应扩展它。
- 例如,如果我们需要将
EmployeeController
与\api\employee
端点链接,请将以下条目添加到\routes
文件夹中的api.php
Route::resource('employee', EmployeeController::class);
BaseModel
- 抽象类,不能单独使用
- 所有模型都应该扩展它
- 所有模型都需要放置在
\App\Http\Models\
文件夹中 - 理想情况下,一个模型应该有一个控制器,该控制器扩展 NetworkController
BaseUser
- 抽象类,不能单独使用
- 提供基本用户账户功能
- 它必须由一个名为 User 的模型扩展,该模型放置在
\App\Http\Models\
文件夹中
FileUploadController 和 ImageUploadController
在 \routes
文件夹中的 api.php
中添加以下代码
use Nevestul4o\NetworkController\Controllers\ImagesController; use Nevestul4o\NetworkController\Controllers\UploadController; Route::get('images/{width}/{name}', [ImagesController::class, 'getImage'])->name('get-image'); Route::post('upload', [UploadController::class, 'uploadSubmit']);
将以下配置添加到 .env
文件中
UPLOADS_PATH=../uploads/files
IMAGES_PATH=../uploads/images
IMAGES_RESIZED_PATH=../cache/images
IMAGES_SUPPORTED_SIZES=300,600,900
IMAGES_REMOVE_METADATA=TRUE
有一个命令允许删除所有调整大小的图像
php artisan network-controller:images-clear-cache
LoginController 和 ChangePasswordController
- 预制的控制器类,提供基本的登录/注销和密码更改功能
- 它们需要一个名为 User 的模型,该模型放置在
\App\Http\Models\
文件夹中,并扩展 BaseUser - 将
auth.php
中用户提供者的命名空间更改为\App\Http\Models\User
- 它们需要一个名为 UserTransformer 的转换器,该转换器放置在
App\Http\Models\Transformers\
文件夹中 - 函数可以自由覆盖
- 可以通过定义以下路由在
api.php
中使用
use Nevestul4o\NetworkController\Controllers\Auth\LoginController; use Nevestul4o\NetworkController\Controllers\Auth\ChangePasswordController; Route::post('login', [LoginController::class, 'login'])->name('login'); Route::get('login', [LoginController::class, 'login'])->name('getCurrentUser'); Route::post('logout', [LoginController::class, 'logout'])->name('logout'); Route::post('change-password', [ChangePasswordController::class, 'changePassword'])->name('changePassword'); Route::post('change-password-forced', [ChangePasswordController::class, 'changePasswordForced'])->name('changePasswordForced');
- 警告 - 在 ChangePasswordController 中的函数
changePasswordForced
未受保护!它可以更改用户的密码,而无需当前密码。在定义API路由时请小心手动保护它,或者覆盖它!