Skip to content

Roadmap#

Milestones#

  • 0.8: related work, open GitHub issues
  • 0.9: all the PHP 5.4 - PHP 7.2 language features support, one serious big CMS working out of the box (WordPress), most of the commonly used PHP extensions implemented, compilation technical demo (try.peachpie.io)
  • 0.9.9: pre-alpha. Signing assemblies, Phar support, more PHP extensions and core functions, migrate to latest Roslyn CodeAnalysis, MsBuild 15.0 Sdk Peachpie.NET.Sdk, opening in Visual Studio 2017/2019
  • 1.0: Visual Studio/VSCode Extension, user friendly error messages, more documentation
  • 1.1: compile-time optimizations, runtime optimizations, dynamic support in C#, more C# interoperability features, Composer support
  • ?: edit & continue, runtime optimizations

General Tasks#

Test Environments#

  • Travis CI
  • MyGet CI
  • Unit tests
  • Comparison to PHP runtime tests

Public API Status#

  • Variables
  • Context
  • Include
  • Call function
  • Class instantiation
  • Global variables
  • Reflection
  • Dynamic compilation
  • Peachpie NuGet packages
  • Error handling

Optimization Tasks#

  • .NET performance diagnostics
  • Unreachable code elimination
  • Unnecessary branching elimination
  • Compile Regex tree in PHP code compile time
  • Array literals one time construction
  • Optimized array implementation
  • Compile-time expression evaluation
  • Lowering/simplifying expressions
  • Resolving more inclusion in compile time
  • Avoiding unnecessary value copying
  • Typed array optimizations
  • Compile on multi-core CPU in parallel
  • Do not declare unreachable declarations

.NET Both-Way Interoperability#

Cross Platform Demos#

  • .NETCore, Mono, .NET 4.5 compatibility
  • Sample Apps
  • Sample GitHub projects
  • Mobile app sample

Web Server Integration#

  • ASP.NET Integrated Pipeline Request Handler
  • ASP.NET Core Middleware