Skip to content

Model Set Templates

Carlo Tasca edited this page Dec 27, 2022 · 1 revision

Collection Templates

collection.tpl.php

{{php}}
declare(strict_types=1);

namespace {{collection_namespace}};

use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
use {{use_model}};
use {{use_resource_model}} as {{class_name}}ResourceModel;

class Collection extends AbstractCollection
{
    protected function _construct(): void
    {
        $this->_init({{class_name}}::class, {{class_name}}ResourceModel::class);
    }
}

Model Templates

model.tpl.php

{{php}}
declare(strict_types=1);

namespace {{model_namespace}};

use Magento\Framework\Model\AbstractModel;
use {{use_resource_model}} as {{class_name}}ResourceModel;

class {{class_name}} extends AbstractModel
{
    protected function _construct(): void
    {
        $this->_init({{class_name}}ResourceModel::class);
    }
}

Resource Model Templates

resource_model.tpl.php

{{php}}
declare(strict_types=1);

namespace {{resource_model_namespace}};

use Magento\Framework\Model\ResourceModel\Db\AbstractDb;

class {{class_name}} extends AbstractDb
{
    /** @var string Main table name */
    const MAIN_TABLE = '{{main_table}}';

    /** @var string Main table primary key field name */
    const ID_FIELD_NAME = '{{id_field_name}}';

    protected function _construct(): void
    {
        $this->_init(self::MAIN_TABLE, self::ID_FIELD_NAME);
    }
}