Skip to content

配置文件

Pin 包内配置位于仓库根目录 config/。使用 Pin\Application 时,包内配置会先加载,业务项目同名配置会递归覆盖。

配置索引

文件说明
config/actions.phpAction fake response 开关
config/app.php前端来源、API 文档调试来源
config/auth.phppin guard、provider、access 配置
config/cache.phpRedis Hash cache store
config/captcha.php验证码图片、路由和一次性缓存
config/crypt.phpAES/RSA 密钥
config/database.php默认数据库连接
config/id-generator.phpTimestamp、Redis、Snowflake ID
config/logging.phpapp/api/sql 日志、响应日志、堆栈日志
config/pagination.php默认分页大小、页码参数名
config/plog.php操作日志配置
config/sanctum.phpLaravel Sanctum 配置
config/scramble.phpScramble API 文档配置
config/testing.php测试配置
config/token.phpAES/JWT/Session Token driver
config/upload.php上传缩略图配置

最小覆盖示例

业务项目可以只覆盖某个 key:

php
// config/token.php
return [
    'default' => 'session',

    'drivers' => [
        'session' => [
            'expires' => 3600,
            'max_age' => 86400,
        ],
    ],
];

最终配置会保留包内默认的 cache_prefixrefresh_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