laravel-packages
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLaravel Packages
Laravel 包开发
Package development: extracting reusable patterns for use across projects.
Related guides:
- package-extraction.md - Extracting code into packages
- DTOs - Using Spatie Laravel Data
- Models - Using Spatie Model States and Query Builder
包开发:提取可复用模式以跨多个项目使用。
相关指南:
- package-extraction.md - 将代码提取为包
- DTOs - 使用 Spatie Laravel Data
- Models - 使用 Spatie Model States 和 Query Builder
When to Extract
何时提取
Extract to package when:
- Pattern used in 3+ projects
- Code is stable and well-tested
- Pattern has clear boundaries
- Maintenance cost justified
→ Complete extraction guide: package-extraction.md
满足以下条件时,将代码提取为包:
- 该模式在3个及以上项目中使用
- 代码稳定且经过充分测试
- 模式具有清晰的边界
- 维护成本合理
→ 完整提取指南:package-extraction.md
Package Structure
包结构
my-package/
├── src/
│ ├── PackageServiceProvider.php
│ ├── Actions/
│ ├── DTOs/
│ └── ...
├── tests/
├── composer.json
└── README.mdUse semantic versioning. Test packages independently. Document clearly.
my-package/
├── src/
│ ├── PackageServiceProvider.php
│ ├── Actions/
│ ├── DTOs/
│ └── ...
├── tests/
├── composer.json
└── README.md使用语义化版本控制。独立测试包。清晰编写文档。
Core Packages (Always)
核心包(必选)
Spatie Laravel Data
Spatie Laravel Data
bash
composer require spatie/laravel-data- DTOs with casting, validation, transformers
- Test factory support
bash
composer require spatie/laravel-data- 带有类型转换、验证和转换器的DTOs
- 支持测试工厂
Spatie Model States
Spatie Model States
bash
composer require spatie/laravel-model-states- State machine pattern
- State transitions with dedicated classes
bash
composer require spatie/laravel-model-states- 状态机模式
- 通过专用类实现状态转换
Spatie Query Builder
Spatie Query Builder
bash
composer require spatie/laravel-query-builder- Filter, sort, include relations via query strings
- API-friendly querying
bash
composer require spatie/laravel-query-builder- 通过查询字符串实现过滤、排序、关联包含
- 适用于API的查询方式
Saloon
Saloon
bash
composer require saloonphp/saloon saloonphp/laravel-plugin- Elegant API client builder
- Testable external service integrations
bash
composer require saloonphp/saloon saloonphp/laravel-plugin- 优雅的API客户端构建工具
- 可测试的外部服务集成
Pest
Pest
bash
composer require pestphp/pest pestphp/pest-plugin-laravel --dev- Expressive testing framework
- Architecture tests
bash
composer require pestphp/pest pestphp/pest-plugin-laravel --dev- 表现力强的测试框架
- 架构测试支持
Optional Packages
可选包
Laravel Sanctum
Laravel Sanctum
bash
composer require laravel/sanctumWhen: API authentication needed
bash
composer require laravel/sanctum适用场景: 需要API认证时
Stancl Tenancy
Stancl Tenancy
bash
composer require stancl/tenancyWhen: Multi-tenant application
bash
composer require stancl/tenancy适用场景: 多租户应用
Spatie Settings
Spatie Settings
bash
composer require spatie/laravel-settingsWhen: Application-level settings needed
bash
composer require spatie/laravel-settings适用场景: 需要应用级设置时
Installation Commands
安装命令
Full Install
完整安装
bash
composer require \
spatie/laravel-data \
spatie/laravel-model-states \
spatie/laravel-query-builder \
saloonphp/saloon \
saloonphp/laravel-plugin
composer require \
pestphp/pest \
pestphp/pest-plugin-laravel \
--dev
./vendor/bin/pest --initbash
composer require \
spatie/laravel-data \
spatie/laravel-model-states \
spatie/laravel-query-builder \
saloonphp/saloon \
saloonphp/laravel-plugin
composer require \
pestphp/pest \
pestphp/pest-plugin-laravel \
--dev
./vendor/bin/pest --initMinimal Install
最小安装
bash
composer require spatie/laravel-data
composer require pestphp/pest pestphp/pest-plugin-laravel --dev
./vendor/bin/pest --initbash
composer require spatie/laravel-data
composer require pestphp/pest pestphp/pest-plugin-laravel --dev
./vendor/bin/pest --init