基本的库,简化使用IoC、.env和配置的App设置

维护者

详细信息

gitlab.com/macrominds/app

源代码

问题

安装: 174

依赖: 1

建议者: 0

安全: 0

星星: 0

分支: 0

v2.0.0 2023-09-17 08:43 UTC

README

基本的库,简化使用IoC、.env和配置的App设置

用法

创建自己的应用并添加所需的特征。默认的基本 App 已经提供了 use HasContainer

use Macrominds\App\App;

class MyApp extends App {
    use \Macrominds\Config\UsesDotEnv;
    use \Macrominds\Config\IsConfigurable;
    use \Macrominds\Services\AllowsServiceRegistration;
    use \Macrominds\App\HasDefaultProjectPath;

    protected function registerServices(string $projectPath) 
    {
        $this->registerDotEnv($projectPath);
        $this->registerDefaultConfig();
        $this->registerProjectPathProvider($projectPath);
    }
}

编码风格

运行 vendor/bin/php-cs-fixer fix . 以应用编码风格修复。

测试此项目

运行 ./vendor/bin/phpunit 以运行测试。

自动测试和Docker镜像

该项目提供了一个 .gitlab-ci.yml,因此使用GitLab CI/CD。

本地构建镜像

$ ./ci.bash build-all-local

在容器中运行phpunit

$ ./ci.bash test-all-local

构建并发布gitlab CI的镜像(也可参阅gitlab文档

$ ./ci.bash build-all-remotes-and-publish

重用测试设置到你的项目

包含

到你的项目的 .gitlab-ci.yml。

如有必要,覆盖使用的变量。

请参见 .gitlab-ci.yml 以获取本地包含示例,并参阅 GitLab文档 以深入了解本地和远程包含选项以及如何覆盖变量。

指标和覆盖率

  • metrics: composer app:phpmetrics
  • 覆盖率报告: composer app:coverage 报告存储在 report 目录中。这两个脚本将在成功完成后输出报告的路径。