campaigningbureau/cf-repository-generator

生成必要的存储库、工厂和模型,以便在 Laravel 中访问新的 Contentful 内容类型

v10.0 2023-12-04 14:46 UTC

README

Laravel 7 Contentful 存储库生成器。

生成合同、Contentful 存储库、模型、工厂和缓存存储库,包含在 Contentful 模型中定义的字段。(https://www.contentful.com/

如果这些文件中的任何一个已经存在,可以选择保留或覆盖。

用法

步骤 1:通过 Composer 安装

composer require campaigningbureau/cf-repository-generator

支持版本

步骤 2:注册服务提供者

将服务提供者添加到 config/app.php

	/*
	 * Package Service Providers...
	 */
	CampaigningBureau\CfRepositoryGenerator\CfRepositoryGeneratorServiceProvider::class,

步骤 3:发布和编辑配置文件

$ php artisan vendor:publish --provider="CampaigningBureau\CfRepositoryGenerator\CfRepositoryGeneratorServiceProvider"

步骤 4:创建存储库

php artisan make:cf-repository

此命令将加载配置内容空间中定义的所有内容类型,并提供一种轻松生成相关类的方法。

生成的文件还包含模拟存储库,可以用作实际 Contentful 数据的替代(例如,在开发期间没有数据可用时)。如果未使用,则可以删除整个目录(默认为 FakeData)。

配置

发布的配置文件 config/cf-repository-generator.php 包含在 app 目录内生成的文件路径。为了符合 PSR-4 自动加载,文件的命名空间由这些路径生成。

这是默认路径,如果没有发布配置文件,或者配置键不存在时将使用这些路径

return [
    'paths' => [
        'contracts'            => 'Repositories/Contracts/',
        'repositories'         => 'Repositories/',
        'caching-repositories' => 'Repositories/Caching/',
        'models'               => 'Models/',
        'factories'            => 'Factories/',
        'fake-data'            => 'FakeData/',
    ],
];
  • contentful_delivery_spacecontentful_delivery_token 字段需要使用从 Contentful 获取的 API 密钥和空间 ID 设置。
  • 默认情况下,它们使用 .env 变量 CONTENTFUL_DELIVERY_SPACECONTENTFUL_DELIVERY_TOKEN 设置。
  • CONTENTFUL_ENVIRONMENT_ID 定义要使用的 Contentful 环境(默认为 master