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

Update dependency GoAOP to have PHP5.6/PHP7 features support #92

Closed
zuozp8 opened this issue Mar 9, 2016 · 12 comments
Closed

Update dependency GoAOP to have PHP5.6/PHP7 features support #92

zuozp8 opened this issue Mar 9, 2016 · 12 comments

Comments

@zuozp8
Copy link
Contributor

zuozp8 commented Mar 9, 2016

Currently there are errors when doubling code that contains new language features that cannot be parsed by old GoAOP. GoAOP with version 1.0.x supports new language features (but breaks backwards compatybility as it requires php>=5.6).

@sergeyklay sergeyklay added the bug label Mar 9, 2016
@lisachenko
Copy link
Contributor

Version 1.0.x of goaop/framework works with PHP=5.5 and CAN run some 5.6 code (without variadics and splat operators). This version relies on outdated package andrewsville/php-token-reflection, so no support for PHP5.6 and 7.0 features.

Master branch (aka 2.x-dev) works with PHP>=5.6 and has a support for PHP7 features because reflection engine was changed to the goaop/parser-reflection component. However, there are no stable 2.x tags right now, if you need something stable for 2.x, then ping me to release a tag.

@DavertMik
Copy link
Member

I think we are ok to update dependency to GoAOP v 1.0 (not sure why I missed its release, and didn't update earlier) but looks it won't solve your problems for now.

Once GoAOP v2 is out we can switch to it.

In this case I propose to stick our versions to GoAOP and follow them. So AspectMock 1.0 to work with GoAOP 1.0 and AspectMock 2.0 to work with GoAOP 2.0...

@DavertMik
Copy link
Member

@lisachenko it seems that GoAOP v2 is really in demand. So could you release it?

@lisachenko
Copy link
Contributor

@DavertMik I can release it, but there are things to do and not tested very well. Main change is changing reflection engine to nikic/PHP-Parser. Building an AST is more reliable, but requires more time and resources, I'm worrying about fatal errors for xdebug.nested_calls, memory limit, etc. Could you please manually check this fact for big project?

Alternatively, you can fork your master to 1.x and change all the things for master branch )

@zuozp8
Copy link
Contributor Author

zuozp8 commented Mar 10, 2016

As GoAOP v2 isn't ready then maybe you could make a branch, set "goaop/framework": "dev-master" in composer and perform changes required to work with new GoAOP. I would use such development branch in my project. I'm sure more people need php 5.6/7 support, even if it requires tweaking php settings and reporting bugs here.

@DavertMik
Copy link
Member

Could you please manually check this fact for big project?

Sure! But please release something called alpha, so I can rely on it and send bugreports.

@zuozp8
Copy link
Contributor Author

zuozp8 commented Apr 13, 2016

bump! GoAOP already released 2.0.0-alpha.1

@findli
Copy link

findli commented Apr 17, 2016

Waiting for update dependencies.

@DavertMik
Copy link
Member

It's not just like updating a version of Go AOP and getting it run. It requires some major rewrite of our transformer, so please wait for that.

@skibish
Copy link

skibish commented Jun 3, 2016

bump! GoAOP released 2.0.0

@adrian-enspired
Copy link

@DavertMik any idea how soon GoAOP 2.0 will be integrated? we want php 7 : )

@DavertMik
Copy link
Member

Done in master. 2.0 to be released in next hour

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

7 participants