{"id":21675688,"url":"https://github.com/adamtyn/at-lumen","last_synced_at":"2026-05-08T08:32:46.176Z","repository":{"id":56940458,"uuid":"298201509","full_name":"AdamTyn/at-lumen","owner":"AdamTyn","description":"嗯，一个更适合开箱即用的 Lumen 封装","archived":false,"fork":false,"pushed_at":"2022-01-13T07:20:18.000Z","size":61,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-25T10:11:14.098Z","etag":null,"topics":["laravel","lumen","php","web"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdamTyn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-24T07:28:29.000Z","updated_at":"2022-10-25T09:51:10.000Z","dependencies_parsed_at":"2022-08-21T06:50:55.221Z","dependency_job_id":null,"html_url":"https://github.com/AdamTyn/at-lumen","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-lumen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-lumen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-lumen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-lumen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamTyn","download_url":"https://codeload.github.com/AdamTyn/at-lumen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244583219,"owners_count":20476273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","lumen","php","web"],"created_at":"2024-11-25T14:10:10.551Z","updated_at":"2026-05-08T08:32:46.128Z","avatar_url":"https://github.com/AdamTyn.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\n\n```text\n@author AdamTyn\n@description 一个更适合开箱即用的 Lumen 封装\n@updated_at 2021-05-27\n```\n\n## Usage\n\n#### @开发环境\n1. 指定目录下，使用 `composer create-project --prefer-dist adamtyn/at-lumen demo` 初始化一个 `demo` 项目\n2. 上述指令会 **完整安装** 最新版本的 `adamtyn/at-lumen`（**完整安装** 包含了 `require-dev` 所定义的组件）\n3. **完整安装**  的 `adamtyn/at-lumen` 默认已经在 **Lumen** 的基础上集成了以下组件\n\n|                           Library                            |                         Description                          | Required | Version                                                   |\n| :----------------------------------------------------------: | :----------------------------------------------------------: | :------: | --------------------------------------------------------- |\n| [adamtyn/lumen-artisan-storage-link](https://github.com/AdamTyn/lumen-artisan-storage-link) | 移植Laravel的 `php artisan storage:link` [生成符号连接]指令到Lumen |    ✔     | [v1.0.1](https://github.com/AdamTyn/at-lumen/tree/v1.0.1) |\n| [adamtyn/lumen-artisan-key-generate](https://github.com/AdamTyn/lumen-artisan-key-generate) | 移植Laravel的 `php artisan key:generate` [重置AppKey]指令到Lumen |    ✔     | [v1.0.0](https://github.com/AdamTyn/at-lumen/tree/v1.0.0) |\n| [adamtyn/lumen-artisan-config-cache](https://github.com/AdamTyn/lumen-artisan-config-cache) | 移植Laravel的 `php artisan config:cache` [创建配置缓存文件]指令到Lumen |    ✔     | [v1.1.0](https://github.com/AdamTyn/at-lumen/tree/v1.1.0) |\n| [adamtyn/lumen-artisan-config-clear](https://github.com/AdamTyn/lumen-artisan-config-clear) | 移植Laravel的 `php artisan config:clear` [清除配置缓存文件]指令到Lumen |    ✔     | [v1.1.0](https://github.com/AdamTyn/at-lumen/tree/v1.1.0) |\n| [adamtyn/lumen-artisan-down](https://github.com/AdamTyn/lumen-artisan-down) |  移植Laravel的 `php artisan down` [进入维护模式]指令到Lumen  |    ✔     | [v1.3.0](https://github.com/AdamTyn/at-lumen/tree/v1.3.0) |\n| [adamtyn/lumen-artisan-up](https://github.com/AdamTyn/lumen-artisan-up) |   移植Laravel的 `php artisan up` [退出维护模式]指令到Lumen   |    ✔     | [v1.3.0](https://github.com/AdamTyn/at-lumen/tree/v1.3.0) |\n| [adamtyn/lumen-artisan-make-job](https://github.com/AdamTyn/lumen-artisan-make-job) | 移植Laravel的 `php artisan make:job` [快速创建任务]指令到Lumen |    ✖     | [v1.0.0](https://github.com/AdamTyn/at-lumen/tree/v1.0.0) |\n| [adamtyn/lumen-artisan-make-model](https://github.com/AdamTyn/lumen-artisan-make-model) | 移植Laravel的 `php artisan make:model` [快速创建模型] 指令到Lumen |    ✖     | [v1.0.0](https://github.com/AdamTyn/at-lumen/tree/v1.0.0) |\n| [adamtyn/lumen-artisan-serve](https://github.com/AdamTyn/lumen-artisan-artisan-serve) | 移植Laravel的 `php artisan serve` [快速启动服务]指令到**Lumen** |    ✖     | [v1.0.0](https://github.com/AdamTyn/at-lumen/tree/v1.0.0) |\n\n4. 刚创建的 **Lumen** 应用，应该执行 `php artisan key:generate` 为应用创建一个 `AppKey` 用以框架加密函数的密钥\n\n#### @生产环境\n\n1. 上线部署代码时，建议使用 `composer install --no-dev` 指令安装依赖，可以避免生产环境加载 **过多非必要** 组件\n2. 耐心等待 `composer` 组件安装完成后，必须确认应用根目录是否存在 `.env` 文件，若不存在可以执行 `copy .env.example .env` 生成包含默认内容的文件\n3. 生产环境首次部署一个 **Lumen** 应用时，除了需要执行 [@开发环境-4](#) 的步骤，还一定要注意执行 `php artisan storage:link` 为应用创建一个 `public/storage =\u003e storage/app/public` 的 **符号连接**，目的是方便分配目录权限\n4. 当做完所有准备工作，最后就要调整 `.env` 文件中相关的 **环境变量**\n\n```ini\nAPP_ENV=production\nAPP_KEY=H+HOlDl8yODdwUQEPX3xMbmj5MvUHFDeeuz9Yi95ZiA=\nAPP_DEBUG=false\nAPP_TIMEZONE=PRC\nAPP_LOCALE=zh_cn\n# has more...\n```\n\n5. 特别的，如果开发时用到了上述表格中的部分 `require-dev` 依赖，那么在生产环境的代码中一定要 **判断代码环境**\n\n```php\n\u003c?php\n\nclass Kernel extends ConsoleKernel\n{\n    protected function getCommands()\n    {\n        if (config('app.env') !== 'production') {\n            $this-\u003ecommands[] = \\AdamTyn\\Lumen\\Artisan\\KeyGenerateCommand::class;\n        }\n\n        $this-\u003ecommands[] = \\AdamTyn\\Lumen\\Artisan\\StorageLinkCommand::class;\n        $this-\u003ecommands[] = \\AdamTyn\\Lumen\\Artisan\\ConfigCacheCommand::class;\n        $this-\u003ecommands[] = \\AdamTyn\\Lumen\\Artisan\\ConfigClearCommand::class;\n        $this-\u003ecommands[] = \\AdamTyn\\Lumen\\Artisan\\UpCommand::class;\n        $this-\u003ecommands[] = \\AdamTyn\\Lumen\\Artisan\\DownCommand::class;\n\n        return parent::getCommands();\n    }\n}\n```\n\n6. 实际上，核心文件都应该 **针对不同代码环境有不同的逻辑**\n\n\n## Log\n\n**[2021-05-27]** *发布v1.4.0版本：添加【模型抽象基类】BaseModel文件*；优化配置文件，精简不常用的配置项\n\n**[2020-10-28]** *发布v1.3.0版本：添加【检查维护模式】CheckForMaintenanceMode中间件，支持 Laravel 【维护模式】相关的artisan指令*\n\n**[2020-10-09]** *发布v1.2.1版本：新增框架入口核心类 `bootstrap/core.php` 文件，判断是否读取了配置缓存文件*\n\n```php\n\u003c?php\n\nuse Laravel\\Lumen\\Application as Lumen;\n\nfinal class Core extends Lumen\n{\n    public function configure($name)\n    {\n        if (isset($this-\u003eloadedConfigurations[$name])) {\n            return;\n        }\n\n        $this-\u003eloadedConfigurations[$name] = $this-\u003ecachedConfig;\n\n        if (!$this-\u003ecachedConfig) {\n            $this-\u003eloadedConfigurations[$name] = true;\n\n            $path = $this-\u003egetConfigurationPath($name);\n\n            if ($path) {\n                $this-\u003emake('config')-\u003eset($name, require $path);\n            }\n        }\n    }\n}\n```\n\n**[2020-09-29]** *发布v1.2.0版本：添加框架入口核心类 `bootstrap/core.php` 文件，支持加载配置缓存文件 `bootstrap/cache/config.php`了!*\n\n```php\n\u003c?php\n\nuse Laravel\\Lumen\\Application as Lumen;\n\nfinal class Core extends Lumen\n{\n    public function __construct($basePath = null)\n    {\n        // 加载配置缓存文件\n        $this-\u003eloadCachedConfig();\n\n        parent::__construct($basePath);\n    }\n}\n```\n\n**[2020-09-28]** *发布v1.1.0版本：新增 `php artisan config:cache` \u0026 `php artisan config:clear` 两个artisan指令*\n\n**[2020-09-27]** *发布v1.0.1版本：修复artisan指令在生产环境的隐患*\n\n**[2020-09-24]** *发布v1.0.0版本*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamtyn%2Fat-lumen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamtyn%2Fat-lumen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamtyn%2Fat-lumen/lists"}