peachpie

Peachpie - the PHP 7.1 compiler and runtime for .NET and .NET Core


Peachpie Compiler

The open-source PHP compiler to .NET

Build status Join the chat at https://gitter.im/iolevel/peachpie License Twitter Facebook Peachpie.io

Getting Started
Documentation

Note: If you would like to reward us for our hard work on this project, we will be happy to accept donations of all amounts.

paypal

What is Peachpie?

Peachpie is a modern PHP compiler based on the Microsoft Roslyn compiler platform and drawing from our popular Phalanger project. It allows PHP to be executed within the .NET framework, thereby opening the door for PHP developers into the world of .NET – and vice versa.

Project goals

-Increased performance: Peachpie's extensive type analysis and the influence of Microsoft Roslyn should provide an improved performance of PHP applications and components.

-Security: since programs run within the standardized and manageable .NET or .NET Core environment, the code is fully verifiable without any unsafe constructs.

-Cross-platform development: the project compiles legacy PHP code into portable class libraries, enabling developers to build cross-platform apps and libraries for Microsoft platforms.

-Full .NET compatibility: compiled programs run on the reimplemented Peachpie runtime, fully compatibly with the PHP runtime.

-Both-way interoperability: the project allows for hybrid applications, where parts are written in C# and others in PHP. The parts will be entirely compatible and can communicate seamlessly, all within the .NET framework.

How to use Peachpie

There are currently two ways of using Peachpie: on the command line or in Visual Studio Code. Keep in mind that Peachpie is still a work in progress and is therefore not intended to run full applications, but you are welcome to use it for your inspiration.

Visual Studio Code

We have a custom VSCode extension to make working with Peachpie compiler as comfortable as possible. The extension automatically installs all required dependencies, enables the Peachpie: Create project command, syntax error underlining and Peachpie analytics:

VSCode VSCode VSCode

To install the Peachpie extension, simply launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter: ext install peachpie-vscode. Watch the intro video below to see how to work with the extension:

Peachpie Introduction

Command line building

Alternatively, you can also work with Peachpie on the command line. Please refer to our short introduction video to see how to run the compiler on the command line and to our Getting Started section.

Status

You can find an up-to-date status of the project in our Roadmap section. Please note that the status is dynamic; Peachpie is a work in progress, which means that the list of finished and planned features frequently changes and will be updated on a regular basis.

How to contribute?

We can use all the help we can get. You can contribute to our repository, spread the word about this project, or give us a small donation to help fund the development. If you believe you have valuable knowledge and experience to add to this project, please do not hesitate to contribute to our repo – your help is much appreciated.

How to get in touch?

We kindly ask you to be patient with your queries; you can follow us on Twitter or on Facebook. You can contact us there regarding your questions or ask the community for support on Gitter, but please understand that we do not provide support at this point.

For partnership inquiries or other questions, please contact us via email at [email protected]

Related Repositories

peachpie-wordpress

peachpie-wordpress

WordPress running on .NET Core. ...

dotnet-tools

dotnet-tools

A list of tools to extend the .NET Core command line (dotnet) ...

peachpie-samples

peachpie-samples

Sample projects demonstrating use of Peachpie (www.peachpie.io) - the PHP compil ...

peachpie-vscode

peachpie-vscode

Repository for the integration of Peachpie (https://github.com/iolevel/peachpie) ...

Peachpie.Microsoft.CodeAnalysis

Peachpie.Microsoft.CodeAnalysis

Fork of dotnet/roslyn slightly modified to be used for iolevel/Peachpie. ...