yarscript/laraveleton-api-demo

Laraveleton演示API

dev-main 2022-10-11 22:30 UTC

This package is auto-updated.

Last update: 2024-09-12 03:05:16 UTC


README

🥷 基于Laravel的API演示应用程序,具有打包结构 🥷

/** 以下包装思想以单体架构表示,因此我没有考虑像迁移发布等一些事情 */


依赖关系

    "require": {
        "php": "^7.4|^8.0",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^1.0",
        "laravel/framework": "^8.0",
        "laravel/ui": "^3.1",
        "prettus/l5-repository": "^2.6",
        "tymon/jwt-auth": "^1.0.0",
        "guzzlehttp/guzzle": "^6.3",
        "yarscript/laraveleton-core": "*",
        "yarscript/laraveleton-api": "*",
        "yarscript/laraveleton-dashboard": "*",
        "yarscript/laraveleton-organisation": "*",
        "yarscript/laraveleton-project": "*",
        "yarscript/laraveleton-serviceplan": "*",
        "yarscript/laraveleton-task": "*",
        "yarscript/laraveleton-user": "*"
    },
    "require-dev": {
        "roave/security-advisories": "dev-latest",
        "fzaninotto/faker": "^1.9",
        "barryvdh/laravel-debugbar": "^3.1"
    },

安装

通过Composer安装,请运行以下命令

git clone https://github.com/yarscript/laraveleton-api.git

然后.. 默认Laravel部署

自动加载

根composer.json自动加载

默认情况下,应用程序定位在Core包中,因此填写供应商路径

{
    "autoload": {
        "classmap": [
            "database/seeders",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "vendor/yarscript/laraveleton-core/src"
        }
    },

}

包自动加载

所有包都包含src/composer.json依赖文件,因此我们需要将它们放在"require"中作为依赖项

{
    "require": {
        "yarscript/laraveleton-core": "*",
        "yarscript/laraveleton-api": "*",
        "yarscript/laraveleton-dashboard": "*",
        "yarscript/laraveleton-organisation": "*",
        "yarscript/laraveleton-project": "*",
        "yarscript/laraveleton-serviceplan": "*",
        "yarscript/laraveleton-task": "*",
        "yarscript/laraveleton-user": "*"
    },
}

为了让Composer了解我们正在使用的本地依赖项,我们使用以下结构

    "repositories": [
        {
            "type": "path",
            "url": "packages/Yarscript/Core"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/Api"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/Dashboard"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/Organisation"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/Project"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/ServicePlan"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/Task"
        },
        {
            "type": "path",
            "url": "packages/Yarscript/User"
        }
    ],

最后,所需包的依赖项看起来像这样

{
    "name": "yarscript/laraveleton-core",
    "description": "description",
    "minimum-stability": "stable",
    "license": "MIT",
    "authors": [
        {
            "name": "yar",
            "email": "yar.yason@gmail.com"
        }
    ],
    "require": {
    },
    "autoload": {
        "psr-4": {
            "Yarscript\\Core\\": "src/"
        }
    },
    "extra": {
        "laravel": {
            "providers": [
                "Yarscript\\Core\\Providers\\CoreServiceProvider"
            ],
            "aliases": {}
        }
    }
}

结论

所以这些让我们能够构建真正的模块化Laravel应用程序结构。对此来说,很好。现在,亲爱的读者,你完全开放,可以深入Laravel的真正DDD。请享受使用它!

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。

🇺🇦 在乌克兰制造 🇺🇦