samdark / yii2-cookbook

Yii 2.0 Community Cookbook
1.45k stars 296 forks source link

How to create a truly extensible module #13

Open samdark opened 10 years ago

samdark commented 10 years ago
rubenheymans commented 10 years ago

yii2-user (https://github.com/dektrium/yii2-user) has some good examples: http://yii2-user.readthedocs.org/en/latest/basics/overriding-models.html

lynicidn commented 10 years ago

@hashie5 i think, for this logic is better way use di :)

rubenheymans commented 10 years ago

@lynicidn what do you mean, better way use di?

lynicidn commented 10 years ago

@hashie5 create interfaces and set classes via di container

samdark commented 9 years ago

https://github.com/artkost/yii2-qa/issues/24

samdark commented 9 years ago

https://toster.ru/q/190201?e=1884467

samdark commented 8 years ago

There are two problems Yii modules could solve:

  1. Grouping alike functionality.
  2. Isolating functionality for future reuse within different projects.

When Yii core team developed modules the purpose was always about both. When it went into the wild, community started using modules for grouping only more often than for isolation which is understandable since proper isolation is hard to achieve. If the module is isolated it never uses anything from outside of it. If it needs something, it provides an interface to be implemented by the one using the module. Same applies the other way around i.e. external usage of the module internals is strictly prohibited except what’s provided by module’s interfaces.

samdark commented 8 years ago

http://www.yiiframework.com/forum/index.php/topic/71278-modules-in-yii/

samdark commented 8 years ago

http://haru-atari.com/blog/14/flexible-module-architecture-on-yii2-path-1-collecting-of-modules-routing-and-events

samdark commented 8 years ago

http://devconf.ru/ru/offers/offer/113