扩展Yii2 Webvimark用户扩展

时间:2017-07-25 02:53:59

标签: php yii2 webvimark

我正在使用Yii2基本模板,以及Webvimark用户管理扩展。我在"用户"中添加了几个额外的字段。表,并希望以更新应用程序时不会踩到的方式将它们暴露给应用程序。

例如,如果用户是客户,他们将在"客户"模型,并在root \ vendor \ webvimark \ user-management-module \ models \ User.php中我会添加:

public function getCustomer()
{
    return $this->hasOne(Customer::className(), ['customer_id' => 'customer_id']);
}

我做了其他一些修改,例如添加"客户"列到根\ vendor \ webvimark \ user-management-module \ views \ user \ view.php,并选择_form.php表单等。

理想情况下,我认为,这些类型的修改应该放在.. \ vendor文件夹之外的某个位置,因为当我更新webvimark扩展时它们会被覆盖。

我在Yii2,框架和命名空间上有点绿色。我想做的是,供应商文件夹中需要修改的任何文件都将存放在\ components \ user(或其他)中,并使用vendor文件夹扩展相应的文件。这很容易吗?最好的"最好的"做这种事的方法?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果有人有兴趣,我会采用完全不同的路线。我将webvimark用户管理模块分成了我自己的github,并在那里进行了更改。

然后我更新了我的composer.json文件,主应用程序指向我的fork:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/pascoea/user-management"
    }
  ],

并在“require”标题下更改了用户管理模块以在我的fork中使用dev-master分支:

"require": {
    ...
    "webvimark/module-user-management": "dev-master",
    ...
},

运行“作曲家更新”后,我开始营业。

此处有更多信息:https://getcomposer.org/doc/02-libraries.md#publishing-to-a-vcs