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: PHP 7.4, related IDE support, user-friendly error messages, documentation, processing composer.json
  • 1.1: include of generated scripts, compile-time optimizations, runtime optimizations, dynamic support in C#, more C# interoperability features, correctness fixes, standardized API
  • ?: edit & continue

General Tasks#

Test Environments#

  • Travis CI
  • AppVeyor CI
  • DevOps 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
  • Asynchronous I/O (awaitable include, db and global code)
  • Compile on multi-core CPU in parallel
  • Do not declare unreachable declarations

.NET Both-Way Interoperability#

Cross Platform Demos#

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

Web Server Integration#

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