什么';s;模块';在YIi和';软件包';Laravel


What's the difference between 'modules' in YIi and 'packages' in Laravel?

我曾广泛使用Yii 1.1.x,目前正在学习Laravel 4.x。

在Yii中,我使用模块来分离功能,例如面向用户的主站点(模块/应用程序)与管理面板(模块/管理员)。我在Laravel中发现的最接近的等价物是包,但这些包在本质上似乎比Yii模块更"独立"。

我想知道Laravel包的不同用例是什么,以及这个概念是Yii模块的子集还是超集。我是否可以用包做一些事情,但不能用模块做,反之亦然?

Yii的模块是特定于应用程序的,是HMVC体系结构的一部分。这是一个经常被滥用的功能,因为它通过调用其他控制器可以很容易地重用代码,或者因为有些人想使用它来简单地将代码组织到不同的目录中。

包可以最精确地描述为外部库。它们应该是抽象的,并且可以由任何其他应用程序使用。