lancers/cakephp-generation-gap-pattern-model-baker

CakePHP4的GenerationGapModelBaker插件

1.0.4 2021-12-10 00:42 UTC

This package is auto-updated.

Last update: 2024-09-10 06:31:49 UTC


README

这是一个使用生成代沟模式实现可烘焙模型操作的插件。

自动生成工具仅创建超类。人类不会修改它。人类创建该类的子类。自动生成器不会操作这些子类。

生成代沟模式参考(日文)

http://www.hyuki.com/dp/dpinfo.html#GenerationGap

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require --dev lancers/cakephp-generation-gap-pattern-model-baker

使用 composer.json 安装,添加以下内容

    "require-dev": {
        "lancers/cakephp-generation-gap-pattern-model-baker": "1.*",
    }

用法

1. 添加到 bootstrap_cli.php

添加配置以加载自定义模板。

Configure::write('Bake.theme', 'GenerationGapModelBaker');

2. 添加到 Application.php

在运行时环境中这不必要,因此请在调试时添加Plugin。

if (Configure::read('debug')) {
    $this->addPlugin('GenerationGapModelBaker');    // add line
    $this->addPlugin('DebugKit');
}

3. 运行 bake 命令创建模型

bin/cake bake extended_model table_name

在示例表中,将创建如下所示的模型文件。

$ bin/cake bake extended_model examples 
One moment while associations are detected.

Baking table class for Examples...

Creating file /var/www/lancers_admin/src/Model/Baked/Table/ExamplesTable.php
Wrote `/var/www/lancers_admin/src/Model/Baked/Table/ExamplesTable.php`

Baking entity class for Example...

Creating file /var/www/lancers_admin/src/Model/Baked/Entity/Example.php
Wrote `/var/www/lancers_admin/src/Model/Baked/Entity/Example.php`

Baking entended table class for Examples...

Creating file /var/www/lancers_admin/src/Model/Table/ExamplesTable.php
Wrote `/var/www/lancers_admin/src/Model/Table/ExamplesTable.php`

Baking entended entity class for Example...

Creating file /var/www/lancers_admin/src/Model/Entity/Example.php
Wrote `/var/www/lancers_admin/src/Model/Entity/Example.php`

Baking test fixture for Examples...

Creating file /var/www/lancers_admin/tests/Fixture/ExamplesFixture.php
Wrote `/var/www/lancers_admin/tests/Fixture/ExamplesFixture.php`
Bake is detecting possible fixtures...

Baking test case for App\Model\Table\ExamplesTable ...

Creating file /var/www/lancers_admin/tests/TestCase/Model/Table/ExamplesTableTest.php
Wrote `/var/www/lancers_admin/tests/TestCase/Model/Table/ExamplesTableTest.php`
Done