Comments (5)
The methods of ConfigurableInterface
can be injected via constructor but how to enuse access to the properties? Put the properties module
, scope
and name
to AbstractConfigurableFactory?
from interop-config.
Since nothing but AbstractConfigurableFactory
is supposed to implement theConfigurableInterface
if not indirectly by extending the mentioned abstract factory I don't see any reason for which that Configurable interface have to actually exist.
IMHO You can just declare the missing methods as abstract and you're done.
After all, interfaces are just abstract classes that can't implement methods. And in languages like PHP this concept actually exists just because we don't have multiple inheritance and we nedeed a way to respect multiple contracts without the use of the extends keyword that can be used only once.
from interop-config.
@fntlnz Yes, abstract methods should be the best choice to remove 'ConfigureInterface' and the 'MandatoryOptionsInterface' could be useful. Thank you for your feedback.
from interop-config.
Ok, now is definitely better
from interop-config.
I close this issue now, because I think the MandatoryOptionsInterface::getMandatoryOptions() should still be public. Thank you @fntlnz for your suggestions.
from interop-config.
Related Issues (16)
- Support for recursive mandatory options check HOT 1
- Avoid inheritance and use a Trait HOT 4
- How to import shared settings from same vendor but different package? HOT 3
- [proposal] Naming proposal for option keys HOT 5
- Should `canRetrieveOptions` check for mandatory options HOT 2
- Inconsistencies in interfaces HOT 5
- Create console tools to generate/display config based on factories
- Check order of default and mandatory options HOT 6
- All errors at once
- PhpUnit failure when testing a basic example HOT 2
- Add config validation CLI command
- Allow PHP 8 HOT 1
- Better names - Replace component with package HOT 3
- Introducing HasOptionalOptions Interface HOT 2
- Introducing HasDefaultOptions Interface HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from interop-config.