为非插件控制器使用插件模型

Using plugin model for non-plugin controller

我有两个单独的 CakePHP 3.1 应用程序,每个应用程序都使用相同的数据库,但以截然不同的方式显示信息。为了减少代码重复,我将大部分模型提取到一个插件中。控制器彼此之间差异很大,所以我目前没有在插件中包含它们中的任何一个。指定控制器的主要模型驻留在插件中的正确方法是什么?

在以前的 CakePHP 版本中,答案是使用控制器的 $uses 属性,但据我所知这不再是一个选项。据我所知,使插件模型可从所有操作访问的唯一方法是在控制器的初始化方法中执行 loadModel。这是处理这种情况的最佳方式吗?

查看Controller的源码class,好像设置public $modelClass = 'Plugin.Model';可能工作。 __construct 确定它认为的模型,然后用它调用 modelAwareTrait::_setModelClass,但如果已经有东西,该函数实际上不会设置它。