zchted/affogato
Composer 安装命令:
composer require zchted/affogato
包简介
Micro Micro Rawr Rawr :)
README 文档
README
Composer Plugin for Laravel RDBMS Development
🔧 Laravel 12 Installation
-
Create a new Laravel app:
laravel new affogato
-
Run the custom API install script:
php artisan install:api
-
Add
use HasApiTokensin App/Models/User.php -
Link storage:
php artisan storage:link
📦 Steps to Install Affogato
-
Install Affogato via Composer
composer require zchted/affogato:dev-main
-
Register the Service Provider
In
config/app.phpor your custom provider loader (likebootstrap/providers.php):Zchted\Affogato\AffogatoServiceProvider::class,
-
Extend AffogatoController in Your Controller
use Zchted\Affogato\AffogatoController; class MyController extends AffogatoController { // }
-
Run Seeder in
DatabaseSeeder.phpuse Zchted\Affogato\Command; public function run() { Command::runSeeder($this->command); }
-
Register Middlewares and Exception Handler to
bootstrap/app.phpThis is needed to force JSON Response on the APIs.
<?php use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { /* Register Middlewares */ $middleware->append(\Zchted\Affogato\ExpireSanctumTokens::class); $middleware->append(\Zchted\Affogato\ForceJsonResponse::class); }) ->withExceptions(function (Exceptions $exceptions): void { /* Register Exception Handler */ handleExceptions($exceptions); })->create();
-
Copy
mods/api.phptoroutes/api.phpMerge or replace your
routes/api.phpfile with the one from Affogato. -
(Optional) Adopt the basic routes in
api.php<?php use Zchted\Affogato\LoginController; use Zchted\Affogato\ConfiguratorController; use Zchted\Affogato\ExpireSanctumTokens; use Zchted\Affogato\ForceJsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; // Public routes Route::post('/login', [LoginController::class, 'login']); // Protected routes Route::middleware(['auth:sanctum', ExpireSanctumTokens::class, ForceJsonResponse::class])->group(function () { // Get current user Route::get('/user', function (Request $request) { return $request->user(); }); if (file_exists(__DIR__ . '/mods.php')) { require __DIR__ . '/mods.php'; } // Logout Route::post('/logout', [LoginController::class, 'logout']); Route::post('config/{config}', [ConfiguratorController::class, 'getConfig']); });
统计信息
- 总下载量: 49
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-21