Skip to content
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

[bc break] Remove the IPageFactory interface #120

Open
aik099 opened this issue Feb 8, 2015 · 3 comments
Open

[bc break] Remove the IPageFactory interface #120

aik099 opened this issue Feb 8, 2015 · 3 comments

Comments

@aik099
Copy link
Member

aik099 commented Feb 8, 2015

Originally the IPageFactory interface was designed to allow people to create page factories that use different (not annotation-based) means for specifying element/block selectors.

To my knowledge only other possible implementation of IPageFactory interface would be like in BehatPageObjectExtension (see http://behat-page-object-extension.readthedocs.org/en/latest/guide/working_with_elements.html), where instead of class properties with selectors defined as annotations there is an $elements array property where you define each element (key) and it's selector (value).

To finalize I believe that annotation-based approach is core of the library and this should be stressed out by:

  • removing IPageFactory interface
  • changing any mention of IPageFactory interface to PageFactory class
@aik099
Copy link
Member Author

aik099 commented Feb 10, 2015

Technically public method declaration change, that are using IPageFactory can be considered as BC break and according to SemVer result in next release version to be 2.0.0.

I'm not sure however about version number change like this.

@evangelion1204
Copy link
Contributor

Do we still keep this in 1.1 or move it to 2.x? You are right about the BC break and in this case the major version should increase.

@aik099 aik099 changed the title Remove the IPageFactory interface [bc break] Remove the IPageFactory interface Apr 2, 2015
@aik099
Copy link
Member Author

aik099 commented Apr 2, 2015

Tricky subject. I double anybody is implementing this interface in their custom factories or using it for typehinting. But regardless other class (using factory) constructor signature would change and since it's public this is bc break for sure.

@aik099 aik099 modified the milestones: 2.0.0, 1.1.0 Apr 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants