Skip to content

[Discussion] Splitting interfaces like Illuminate Contracts ? #12544

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
harikt opened this issue Nov 22, 2014 · 3 comments
Closed

[Discussion] Splitting interfaces like Illuminate Contracts ? #12544

harikt opened this issue Nov 22, 2014 · 3 comments

Comments

@harikt
Copy link

harikt commented Nov 22, 2014

Hi,

I did a search for contracts inside the issues. Didn't noticed anything. In case this is already discussed, my apologies. Please link me to the particular thread.

The idea is to split some of the interfaces that are needed / useful inside certain components.

I have a feeling that when interfaces are split to its own ( probably single interfaces ) it will help not to include the library itself on the require-dev. But it will help to make use of the interface being used inside the component.

So if someone need to make use of a third party component they could just implement the interface and make use of their own components so will reduce a tight coupling. And as Symfony components already implement them users can just bind it easily.

Interested to hear if anyone have thought / discussed this. ( Inspired by Illuminate contracts , psr/log, psr/http-message)

Thank you.

@unkind
Copy link
Contributor

unkind commented Nov 22, 2014

Sounds reasonable. I faced with it in #12115. I failed to find better place for the interface as Symfony doesn't have something like ClosureKit component. Thus, my interface looks awkward in any component.

@Tobion
Copy link
Contributor

Tobion commented Nov 22, 2014

Looks like duplicate of #6129

@harikt
Copy link
Author

harikt commented Nov 22, 2014

@Tobion thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants