ts2php,GitHub - VenyXiong/ts2php: Typescript to PHP Transpiler.

Ts2Php是一款将TypeScript编译为PHP的工具,其运行时部分依赖PHP的辅助类库。通过CLI或配置文件可以方便地进行编译,支持多种JavaScript语法和内置函数。在更新Ts2Php版本时,建议使用diff-checker检查PHP代码差异。
摘要由CSDN通过智能技术生成

ts2php

under development

TypeScript 转 PHP

A Compiler which can compile TypeScript to PHP.

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d547970655363726970742d626c75652e737667

68747470733a2f2f7472617669732d63692e636f6d2f73656172636866652f7473327068702e7376673f6272616e63683d6d6173746572

68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f7473327068702e737667

687474703a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f7473327068702e737667

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2532302532302546302539462539332541362546302539462539412538302d73656d616e7469632d2d72656c656173652d6531303037392e737667

Usage

compiler

import {compile} from 'ts2php';

const result = compile(filePath, options);

runtime

部分功能依赖一个 PHP 的类库,需要在 PHP 工程中引入

Some features are implemented by a PHP helper class, which need to be included in your PHP

code.

require_once("/path/to/ts2php/dist/runtime/Ts2Php_Helper.php");

CLI

Quick Start:

$ npm i -g ts2php

$ ts2php ./a.ts # 编译输出到 stdout

使用配置并输出到文件:

$ cat config.js

module.exports = {

emitHeader: false

};

$ ts2php -c config.js src/ -o output/

更多选项:

$ ts2php --show-diagnostics # 输出诊断信息

$ ts2php --emit-header # 输出头部信息

$ ts2php -h # 更多功能请查看帮助

update ts2php version

Same TS code with different version of ts2php may result to different PHP code. When updating the version of ts2php, we should check the result PHP code manually. To simplify this process, we recommend to use ts2php-diff-checker. Specify two version of ts2php, and some source TS code, ts2php-diff-checker will generate diff info directly.

ts2php-check [destination]

Features

Javascript Syntax

For more, see feature test markdowns: Javascript Syntax

Core JavaScript API

parseInt 只接收一个参数

parseFloat

encodeURIComponent

decodeURIComponent

encodeURI

__dirname

__filename

Date

Date.now

Date.prototype.getTime

Date.prototype.getDate

Date.prototype.getDay

Date.prototype.getFullYear

Date.prototype.getHours

Date.prototype.getMinutes

Date.prototype.getMonth

Date.prototype.getSeconds

Date.prototype.setDate

Date.prototype.setFullYear

Date.prototype.setHours

Date.prototype.setMinutes

Date.prototype.setMonth

Date.prototype.setSeconds

Date.prototype.setTime

Object

Object.assign

Object.keys

Object.values

Object.freeze

Object.prototype.hasOwnProperty

JSON

JSON.stringify 只接收一个参数

JSON.parse 只接收一个参数

console

console.log

console.info 转成 var_dump

console.error

String

String.prototype.replace 第二个参数只支持 string,不支持 Function

String.prototype.trim

String.prototype.trimRight

String.prototype.trimLeft

String.prototype.toUpperCase

String.prototype.toLowerCase

String.prototype.split

String.prototype.indexOf

String.prototype.substring

String.prototype.repeat

String.prototype.startsWidth

String.prototype.endsWidth

String.prototype.includes

String.prototype.padStart

String.prototype.match 只支持正则和字符串匹配

Array

Array.isArray

Array.prototype.length

Array.prototype.filter 回调函数只接收第一个参数

Array.prototype.push

Array.prototype.pop

Array.prototype.shift

Array.prototype.unshift

Array.prototype.concat

Array.prototype.reverse

Array.prototype.splice

Array.prototype.reverse

Array.prototype.map

Array.prototype.forEach

Array.prototype.indexOf

Array.prototype.join

Array.prototype.some

Array.prototype.every

Array.prototype.find

Array.prototype.findIndex

Array.prototype.sort

Number

Number.isInterger

Number.prototype.toFixed

Number.prototype.toString

Math

Math.abs

Math.acos

Math.acosh

Math.asin

Math.asinh

Math.atan

Math.atanh

Math.atan2

Math.cbrt

Math.ceil

Math.clz32

Math.cos

Math.cosh

Math.exp

Math.expm1

Math.floor

Math.hypot

Math.log

Math.log1p

Math.log10

Math.max

Math.min

Math.pow

Math.random

Math.round

Math.sin

Math.sinh

Math.sqrt

Math.tan

Math.tanh

Thanks to

Based on Typescript compiler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值