phpowermove / php-code-generator

PHP code generator library
https://php-code-generator.readthedocs.org
Apache License 2.0
147 stars 43 forks source link

Looking for a way to read global functions #57

Open BlacKCaT27 opened 5 years ago

BlacKCaT27 commented 5 years ago

Hello,

My team has been using this library while writing a refactoring tool and we came across an issue.

We have several legacy code files which contain global functions and/or global scope code (I know...I know....we're working on fixing it). The tool we're writing needs to ingest these files and break them up into model objects that represent a given code file.

We've tried using this libraries PhpClass::FromFile method, but this doesn't appear to capture global functions/code.

Is there any way to do so using the tools in this library? Something like a PhpFile::FromFile method?

gossi commented 5 years ago

You could use version 0.4.* of this library, which still supports reading functions in through reflection. Then generate the new code of them and update the library 😁

BlacKCaT27 commented 5 years ago

Thanks for the tip! We'll try that out.

Is there a reason such functionality was removed? I could definitely see use cases that are still valid when dealing with legacy code.

gossi commented 5 years ago

See #35 It is not reliable if a file has procedural or structural code. In the first case, this library cannot handle it. A file with a collection of functions though, would be manageable - true. Please comment over there.