As we continue working on Peachpie compiler, which can be seen on our roadmap, there are more and more new functionalities and features every day. With each update, Peachpie learns to handle a set of new things and becomes increasingly compatible with the standard PHP runtime environment.
Newly Supported Constructs
Every day, we have been adding new functionalities and constructs that Peachpie now supports. For instance, as we mentioned in the last blogpost, Peachpie can now access global PHP variables from C# and offers an API that is able to include scripts from C#.
Additionally, the compiler also supports many more overloads of standard operators, like multiplacation, add, pow or comparisons, while ultimately providing the most optimized compiled code.
We have also been able to implement the PHP instanceof operator, and have made multiple general fixes and improvements to the compiler.
Tests
In addition to the new functionalities, we have also added a new folder to our repository, where you can now find an ever increasing amount of various test cases. These tests are perhaps the best measurement of what Peachpie is already able to handle and in what it is already fully compatible with the regular PHP.
You can see a conditional declaration of a function above, which is quite unusual in modern programming languages. Such a piece of code has to be supported by the compiler and the runtime as well.
There are a few quirks of the PHP language that stand out:
- Conditional function declaration
- Our favorite demo of computing Pi
- Basic support for PHP aliasing
- Array syntax support
The increasing number of tests clearly shows the progress we are making with Peachpie and the continuous improvement of the compiler’s ability.
Feel free to follow the development of the project and ask about the possible compatibility. Soon there will be some more extensive demos.