zendframework / zend-permissions-acl

BSD 3-Clause "New" or "Revised" License
60 stars 23 forks source link

Separate Interface Package? #16

Closed jakejohns closed 8 years ago

jakejohns commented 8 years ago

Does anyone share my desire to separate the interfaces here into their own package?

I feel like I want to be able to write packages that required something like zendframework/permissions-acl-interface rather than the whole implementation.

This way, for example, I could write an authentication package where identity objects implement RoleInterface, or make some domain package where objects implement ResourceInterface to facilitate integration but not require installation of Zend\Permissions\Acl if one desires some alternative implementation. Something similar to what is done with Aura\Payload and Aura\Payload_Interface.

Thoughts?

weierophinney commented 8 years ago

zend-permissions-acl is meant to provide:

We do not currently see the value in separating them, particularly considering that the LOC amount to only ~1k lines, with only ~300 lines of logic. Removing the implementation just increases the number of dependencies for those that do want the implementation at this point.

We may revisit this in the future (we separated interface-providing packages from implementations in Expressive), but for now, we have no plans to do similarly with the component packages.

jakejohns commented 8 years ago

Thanks for the response! Keep up the excellent work!