【发布时间】:2015-07-22 22:14:54
【问题描述】:
Class yii\base\Module 有 2 个属性:id 和 uniqueId。前者“在具有相同父级的其他模块中唯一标识此模块”,而后者 - 只是唯一的 id。但我仍然不明白差异。为什么我们需要 id 来识别模块,尤其是从具有相同父模块的模块中,如果有 uniqueId,也可以识别模块?向我展示一个例子会很好,它揭示了对这两个属性的需求。
【问题讨论】:
标签: php yii yii2 yii-modules
Class yii\base\Module 有 2 个属性:id 和 uniqueId。前者“在具有相同父级的其他模块中唯一标识此模块”,而后者 - 只是唯一的 id。但我仍然不明白差异。为什么我们需要 id 来识别模块,尤其是从具有相同父模块的模块中,如果有 uniqueId,也可以识别模块?向我展示一个例子会很好,它揭示了对这两个属性的需求。
【问题讨论】:
标签: php yii yii2 yii-modules
模块id是模块的相对ID,当没有父模块时
模块id 与uniqueId 一致。但是,如果您在其他模块中使用嵌套模块(一个或多个),那么仍然需要能够分配模块的标识符(他的名字)。此名称是使用 ID 分配的,该 ID 对应于 config/main.php 中的条目。作为框架的一部分,管理每个嵌套模块的绝对标识的需要由UniqueId 执行。 UniqueId 是只读的,因为他的正确构造是由框架管理的
【讨论】:
id 是用户所需要的,UniqueId - 是框架所需要的,对吧?
id是模块的相对ID”是什么意思。我更改了嵌套模块的id 属性(在应用程序中的 config/web.php 中)并输出属性id 和uniqueId 鉴于这个模块:后者也发生了变化!请给我一个例子,当这两个属性不相同时。
'user/admin,第二个管理员是 admin