yii2-cookbook
yii2-cookbook copied to clipboard
How to create a truly extensible module
- Comments module.
- Interface for user.
yii2-user (https://github.com/dektrium/yii2-user) has some good examples: http://yii2-user.readthedocs.org/en/latest/basics/overriding-models.html
@hashie5 i think, for this logic is better way use di :)
@lynicidn what do you mean, better way use di?
@hashie5 create interfaces and set classes via di container
https://github.com/artkost/yii2-qa/issues/24
https://toster.ru/q/190201?e=1884467
There are two problems Yii modules could solve:
- Grouping alike functionality.
- 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.
http://www.yiiframework.com/forum/index.php/topic/71278-modules-in-yii/
http://haru-atari.com/blog/14/flexible-module-architecture-on-yii2-path-1-collecting-of-modules-routing-and-events
http://devconf.ru/ru/offers/offer/113