外观
配置文件
Pin 包内配置位于仓库根目录 config/。使用 Pin\Application 时,包内配置会先加载,业务项目同名配置会递归覆盖。
配置索引
| 文件 | 说明 |
|---|---|
config/actions.php | Action fake response 开关 |
config/app.php | 前端来源、API 文档调试来源 |
config/auth.php | pin guard、provider、access 配置 |
config/cache.php | Redis Hash cache store |
config/captcha.php | 验证码图片、路由和一次性缓存 |
config/crypt.php | AES/RSA 密钥 |
config/database.php | 默认数据库连接 |
config/id-generator.php | Timestamp、Redis、Snowflake ID |
config/logging.php | app/api/sql 日志、响应日志、堆栈日志 |
config/pagination.php | 默认分页大小、页码参数名 |
config/plog.php | 操作日志配置 |
config/sanctum.php | Laravel Sanctum 配置 |
config/scramble.php | Scramble API 文档配置 |
config/testing.php | 测试配置 |
config/token.php | AES/JWT/Session Token driver |
config/upload.php | 上传缩略图配置 |
最小覆盖示例
业务项目可以只覆盖某个 key:
php
// config/token.php
return [
'default' => 'session',
'drivers' => [
'session' => [
'expires' => 3600,
'max_age' => 86400,
],
],
];最终配置会保留包内默认的 cache_prefix、refresh_before 等未覆盖项。
生产环境建议
生产环境建议至少覆盖:
php
// config/crypt.php
return [
'key' => env('PIN_AES_KEY'),
'iv' => env('PIN_AES_IV'),
'private_key' => env('PIN_RSA_PRIVATE_KEY'),
'public_key' => env('PIN_RSA_PUBLIC_KEY'),
];以及:
php
// config/logging.php
return [
'response' => [
'include_request_payload' => false,
'include_sql' => false,
],
'stack_trace' => [
'enabled' => false,
],
];环境覆盖文件
可以使用 config/config.{env}.php 对任何配置做环境级覆盖:
php
// config/config.testing.php
return [
'database' => [
'default' => 'testing',
],
];测试环境运行时,LoadConfiguration 会优先加载 config.testing.php。