PeachPie
A união entre PHP e C# .Net Core
.Net Conference 2018 https://channel9.msdn.com/Events/dotnetConf/2018/S303
Conheça PeachPie?
● Framework Open-Source
● Cross-Platform
● .Net e Php trabalhando junto
● Segurança no código
● Performance com influência
Microsoft Roslyn
PHP e .Net representam mais de 90% de toda
internet.
Embora o PHP seja onipresente e extremamente popular, o .NET é
mais robusto, seguro e com desempenho. O compilador PeachPie é
um projeto exclusivo que preenche a lacuna entre as duas
plataformas e permite que os desenvolvedores usem o melhor dos
dois mundos.
Vantagens
X
Desvantagem
● Baixo custo no servidor
● Linguagem estabelecida
● Fácil de aprender
● Não indicada para aplicação
de grandes portes
● Linguagem multiparadigma,
● Tipagem forte
● Totalmente Orientada a Objeto
● Suporte e interage com legado
● Gerenciamento de Memória
● É necessário compilar
http://octoverse.github.com/projects.html
Simplicidade e flexibilidade do PHP com o poder e o
desempenho do .Net Core
Imagem transparente no plano de fundo sempre funciona bem.
Interligando
Módulos
PhP e .Net Core
● Simples conexao PhP-C#;
● Possibilidade de
reutilização de código
PHP sem reescrever para
C#;
● Colaboração entre
desenvolvedores;
Aplicativo PhP
no .Net
● Execute em tempo real
aplicação em php no .net,
● Use as ferramentas .Net
para diagnóstico,
● Use o Azure de forma nativa.
PhP com
pacotes Nugets
● Distribuir componentes em
PHP,
● Pacotes de repositorios
Módulos
PhP e .Net
Core
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Session" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" ersion="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="1.1.2" />
<PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/>
<PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/>
<PackageReference Include=”Microsoft.Extensions.Caching.Memory
Version=”1.1.2”/>
<PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/>
</ItemGroup>
Migrando
aplicações PHP
para .Net
● Migração sequencial e
contínua de PHP para .Net
● Aplicação
● Aproveite pontos fortes
de cada plataforma
Use pacotes
NuGet com PhP
● especificar os pacotes
Nuget
● Não revela código fonte
● fácil acesso do Php nos
pacotes
Biblioteca em PhP para .Net
PhpLib.msbuildproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard1.6;net46</TargetFrameworks>
<Description>.NET class library in PHP</Description>
<AssemblyName>PhpLib1</AssemblyName>
<PackageId>PhpLib1</PackageId>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<VersionSuffix>prerelease</VersionSuffix> </PropertyGroup>
<ItemGroup><Compile Include="**/*.php" /></ItemGroup>
<ItemGroup> <DotNetCliToolReference Include="Peachpie.Compiler.Tools" Version="0.7.0-*" />
<PackageReference Include="Peachpie.NET.Sdk" Version="0.7.0-*" PrivateAssets="Build" />
</ItemGroup>
</Project>
Estendendo
PhP com C#
● Amplie aplicação Php
com plug-ins e extensões
c#,
● Use pacotes seguros e
populares em C#,
● Aproveite pontos fortes
de cada plataforma
Program.cs
O PeachPie ainda contém uma extensão para o Kestrel que faz a solicitação no
*.php e processa as DLLs copiladas.
class Startup {
public void Configure(IApplicationBuilder app) {
Pchp.Core.Context.DefaultErrorHandler = new Pchp.Core.CustomErrorHandler(); //
disables debug asserts
app.UsePhp(); // installs handler for *.php files and forwards them to our
website.dll
app.UseDefaultFiles();
app.UseStaticFiles();
}
}
WordPress com.Net
http://www.wpdotnet.com/resources/
● Estrutura robusta do WP com
segurança e rapidez do .Net
● Venda ou distribua seu
aplicativo sem entregar o
código fonte.,
● Plug-ins testados e configurados
pelo Nuget
● Íntegra Azure com estabilidade e
desempenho.
● Visualização usando Razor
Diagrama básico do mecanismo do .Net com WordPress
Detalhes no
Código
Para syntax
highlight, use
http://markup.su/highl
ighter
Vídeo de Instalação no Visual Studio 2019.
Vídeo de Instalação no Visual Studio Code.
Vídeo de Instalação no Visual Studio Code.
IMPORTANTE!
Peachpie não é sobre escrever
código .Net usando PHP.
Peachpie é sobre a execução de
código PHP no .Net.
Arquitetura em microservice
Ocultar seu código
Ambiente Cloud
Devops com Azure
Porque usar?
Obrigada!
Perguntas?!
@vanessabrava
@vanessabrava
github.com/vanessabrava
vanessa.valle@gmail.com

WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core

  • 1.
    PeachPie A união entrePHP e C# .Net Core
  • 2.
    .Net Conference 2018https://channel9.msdn.com/Events/dotnetConf/2018/S303
  • 3.
    Conheça PeachPie? ● FrameworkOpen-Source ● Cross-Platform ● .Net e Php trabalhando junto ● Segurança no código ● Performance com influência Microsoft Roslyn
  • 4.
    PHP e .Netrepresentam mais de 90% de toda internet. Embora o PHP seja onipresente e extremamente popular, o .NET é mais robusto, seguro e com desempenho. O compilador PeachPie é um projeto exclusivo que preenche a lacuna entre as duas plataformas e permite que os desenvolvedores usem o melhor dos dois mundos.
  • 5.
    Vantagens X Desvantagem ● Baixo custono servidor ● Linguagem estabelecida ● Fácil de aprender ● Não indicada para aplicação de grandes portes ● Linguagem multiparadigma, ● Tipagem forte ● Totalmente Orientada a Objeto ● Suporte e interage com legado ● Gerenciamento de Memória ● É necessário compilar
  • 6.
  • 7.
    Simplicidade e flexibilidadedo PHP com o poder e o desempenho do .Net Core
  • 8.
    Imagem transparente noplano de fundo sempre funciona bem.
  • 9.
    Interligando Módulos PhP e .NetCore ● Simples conexao PhP-C#; ● Possibilidade de reutilização de código PHP sem reescrever para C#; ● Colaboração entre desenvolvedores;
  • 10.
    Aplicativo PhP no .Net ●Execute em tempo real aplicação em php no .net, ● Use as ferramentas .Net para diagnóstico, ● Use o Azure de forma nativa.
  • 11.
    PhP com pacotes Nugets ●Distribuir componentes em PHP, ● Pacotes de repositorios
  • 12.
    Módulos PhP e .Net Core <ItemGroup> <PackageReferenceInclude="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Session" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" ersion="1.1.2" /> <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="1.1.2" /> <PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/> <PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/> <PackageReference Include=”Microsoft.Extensions.Caching.Memory Version=”1.1.2”/> <PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/> </ItemGroup>
  • 13.
    Migrando aplicações PHP para .Net ●Migração sequencial e contínua de PHP para .Net ● Aplicação ● Aproveite pontos fortes de cada plataforma
  • 14.
    Use pacotes NuGet comPhP ● especificar os pacotes Nuget ● Não revela código fonte ● fácil acesso do Php nos pacotes
  • 15.
    Biblioteca em PhPpara .Net PhpLib.msbuildproj <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Library</OutputType> <TargetFrameworks>netstandard1.6;net46</TargetFrameworks> <Description>.NET class library in PHP</Description> <AssemblyName>PhpLib1</AssemblyName> <PackageId>PhpLib1</PackageId> <GeneratePackageOnBuild>True</GeneratePackageOnBuild> <VersionSuffix>prerelease</VersionSuffix> </PropertyGroup> <ItemGroup><Compile Include="**/*.php" /></ItemGroup> <ItemGroup> <DotNetCliToolReference Include="Peachpie.Compiler.Tools" Version="0.7.0-*" /> <PackageReference Include="Peachpie.NET.Sdk" Version="0.7.0-*" PrivateAssets="Build" /> </ItemGroup> </Project>
  • 16.
    Estendendo PhP com C# ●Amplie aplicação Php com plug-ins e extensões c#, ● Use pacotes seguros e populares em C#, ● Aproveite pontos fortes de cada plataforma
  • 17.
    Program.cs O PeachPie aindacontém uma extensão para o Kestrel que faz a solicitação no *.php e processa as DLLs copiladas. class Startup { public void Configure(IApplicationBuilder app) { Pchp.Core.Context.DefaultErrorHandler = new Pchp.Core.CustomErrorHandler(); // disables debug asserts app.UsePhp(); // installs handler for *.php files and forwards them to our website.dll app.UseDefaultFiles(); app.UseStaticFiles(); } }
  • 18.
    WordPress com.Net http://www.wpdotnet.com/resources/ ● Estruturarobusta do WP com segurança e rapidez do .Net ● Venda ou distribua seu aplicativo sem entregar o código fonte., ● Plug-ins testados e configurados pelo Nuget ● Íntegra Azure com estabilidade e desempenho. ● Visualização usando Razor
  • 19.
    Diagrama básico domecanismo do .Net com WordPress
  • 20.
    Detalhes no Código Para syntax highlight,use http://markup.su/highl ighter
  • 21.
    Vídeo de Instalaçãono Visual Studio 2019.
  • 22.
    Vídeo de Instalaçãono Visual Studio Code.
  • 23.
    Vídeo de Instalaçãono Visual Studio Code.
  • 24.
    IMPORTANTE! Peachpie não ésobre escrever código .Net usando PHP. Peachpie é sobre a execução de código PHP no .Net.
  • 25.
    Arquitetura em microservice Ocultarseu código Ambiente Cloud Devops com Azure Porque usar?
  • 26.