介绍一个基于 .NET 的船的新 PHP SDK + Runtime: PeachPie
Posted 移动开发和人工智能
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了介绍一个基于 .NET 的船的新 PHP SDK + Runtime: PeachPie相关的知识,希望对你有一定的参考价值。
前言
这几天想基于 .NET Core 搞一个自己的博客网站,于是在网上搜刮各种博客引擎,找到了这些候选:Blogifier、Miniblog 以及 edi 写的 Moonglade。
Blogifier:这是前端是个 Angular SPA 应用,不利于 SEO,同时首屏加载速度慢,因此排除。
Miniblog:顾名思义 Mini,可以完美承载内容但是主题实在是过于简单,没有可自定义性,因此排除。
Moonglade:总体感觉不错,界面设计得也很好,功能全面,然而需要 SQL Server 作为数据库,然而 SQL Server 虽然有 Linux 版本,但受限于主机配置和预算因此也被排除。
难道就没有适合我需求的博客引擎了吗?答案当然是:有。
众所周知 php 是世界上最好的语言(滑稽),还是众所周知有一个叫做 WordPress 的博客引擎生态非常庞大,而且是使用 PHP 构建的。
可是 PHP 和 .NET 又有什么关系呢?
PeachPie
PeachPie 是一个完全构建于 .NET Standard 之上的一套完整的 PHP SDK + Runtime,包含编译器和运行时等等,兼容 PHP 5.4-7.4(当然部分功能仍在开发中)。
官网:https://www.peachpie.io
那么 PeachPie 有什么优点呢:
开源:https://github.com/peachpiecompiler/peachpie
跨平台:因为 PeachPie 完全构建于 .NET 之上,因此也就跟着跨平台了,Windows、MacOS、Linux 等等,从架构上跨 x86、x86_64、ARM、ARM64,未来甚至还会有 MIPS、MIPS64、Risc-V 等等......
纯托管代码:借助 VS 强大的调试器和 IDE 体验,从开发、调试到测试、Profile 一条龙非常爽
编译:PHP 是没有编译之说的,这门动态类型语言和 Python 面临一样的问题,几乎无法在编译时发现代码中的错误,即便借助 linter 诊断出了语法错误也很难诊断出类型的错误。而 PeachPie 则有完善的编译器套件将 PHP 代码完整的编译为 .NET Standard 程序集,意味着在编译期就做好了语法和类型检查,保证了运行时不会因为代码问题导致程序崩溃,同时应用分发的时候也不需要源代码,确保了源码安全
与 .NET 互操作:PeachPie 在保留了 PHP 原本的生态基础上做到了 PHP 和 .NET 的互操作,一个 PeachPie 项目不但可以使用 PHP 原有生态中的包和插件,还能享受 .NET 的生态,快乐超级加倍
运行在 .NET 上:CLR/CoreCLR 自带久经考验的 JIT 和 GC,因此通过 PeachPie 编译的程序集运行在 CLR/CoreCLR 之上则无需做任何的代码改动即可享受到这些东西,在 php-bench 中,借助 CoreCLR 平台的 JIT,函数调用性能拉开了原来 PHP 几个数量级
.NET Foundation 项目:背后有 .NET Foundation 支持,瓦利亚高品质,有保证
可是有人就要问了,为什么我不直接用 PHP 而是选用 PeachPie 曲线救国呢?
因为我乐意,雨女无瓜(逃
开始使用#
本文开发环境采用 Visual Studio Code(需要安装 PeachPie 插件),当然你也可以用 Visual Studio 等其他开发工具。
安装 PeachPie 最新的项目模板:
Copy以上是关于介绍一个基于 .NET 的船的新 PHP SDK + Runtime: PeachPie的主要内容,如果未能解决你的问题,请参考以下文章
介绍一个基于 .NET 的船新 PHP SDK + Runtime: PeachPie