帮助开发者掌握 Laravel 架构模式与生产级后端实现方法。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "laravel-patterns" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/docs/tr/skills/laravel-patterns/SKILL.md 2. 保存为 ~/.claude/skills/laravel-patterns/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为一个 Laravel 电商系统设计生产级后端架构,包含路由、控制器、Service 层、Repository 层、队列、事件、缓存和 API Resources,并说明各层职责与示例目录结构。
输出一套清晰的 Laravel 分层架构方案,含职责说明、目录结构与实现建议。
我有一个 Laravel 接口响应很慢,请分析 Eloquent ORM 常见性能问题,并给出查询优化、预加载、缓存策略和代码重构建议,适用于高并发场景。
得到针对 ORM 性能瓶颈的诊断思路,以及可落地的优化方案和示例代码。
请用 Laravel 设计一个订单创建后的异步处理流程:发送邮件、扣减库存、记录事件日志、失败重试,并说明应使用哪些队列、事件和监听器模式。
输出完整的异步处理设计,包括事件流、队列任务拆分和失败恢复机制。
Ölçeklenebilir, bakım yapılabilir uygulamalar için üretim seviyesi Laravel mimari desenleri.
config/* içinde merkezileştirin ve ortamları açık tutun.Net katman sınırları (HTTP, servisler/action'lar, model'ler) ile geleneksel bir Laravel düzeni kullanın.
app/
├── Actions/ # Tek amaçlı kullanım durumları
├── Console/
├── Events/
├── Exceptions/
├── Http/
│ ├── Controllers/
│ ├── Middleware/
│ ├── Requests/ # Form request validation
│ └── Resources/ # API resources
├── Jobs/
├── Models/
├── Policies/
├── Providers/
├── Services/ # Domain servislerini koordine etme
└── Support/
config/
database/
├── factories/
├── migrations/
└── seeders/
resources/
├── views/
└── lang/
routes/
├── api.php
├── web.php
└── console.php
Controller'ları ince tutun. Orkestrasyon'u servislere ve tek amaçlı mantığı action'lara koyun.
final class CreateOrderAction
{
public function __construct(private OrderRepository $orders) {}
public function handle(CreateOrderData $data): Order
{
return $this->orders->create($data);
}
}
final class OrdersController extends Controller
{
public function __construct(private CreateOrderAction $createOrder) {}
public function store(StoreOrderRequest $request): JsonResponse
{
$order = $this->createOrder->handle($request->toDto());
return response()->json([
'success' => true,
'data' => OrderResource::make($order),
'error' => null,
'meta' => null,
], 201);
}
}
Netlik için route-model binding ve resource controller'ları tercih edin.
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->group(function () {
Route::apiResource('projects', ProjectController::class);
});
Çapraz kiracı erişimini önlemek için scoped binding'leri kullanın.
Route::scopeBindings()->group(function () {
Route::get('/accounts/{account}/projects/{project}', [ProjectController::class, 'show']);
});
conversation vs conversations).Conversation için {conversation}).use App\Http\Controllers\Api\ConversationController;
use App\Http\Controllers\Api\MessageController;
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->prefix('conversations')->group(function () {
Route::post('/', [ConversationController::class, 'store'])->name('conversations.store');
Route::scopeBindings()->group(function () {
Route::get('/{conversation}', [ConversationController::class, 'show'])
->name('conversations.show');
Route::post('/{conversation}/messages', [MessageController::class, 'store'])
->name('conversation-messages.store');
…
帮助你规划与实现 Spring Boot 后端架构、接口与常用工程模式。