0.1.7 • Published 6 years ago

js2php v0.1.7

Weekly downloads
22
License
MIT
Repository
github
Last release
6 years ago

js2php

Build status

JavaScript to PHP source-to-source transpiler. Online demo

This is an experiment. Please do not use it.

Installation

  • Install nodejs
  • Install js2php globally: npm install -g js2php

Usage

Convert a single JavaScript file into PHP:

js2php examples/simple.js > simple.php

Since js2php outputs the PHP code to stdout, you may run it right after conversion:

js2php examples/class.js | php

Features

What does it converts?

  • Classes (ES6)
  • Getters and Setters (ES6)
  • Namespaces (ES6)
  • Loops (while / for / do-while / for-of / for-in)
  • Arrow functions (ES6)
  • Template strings (ES6)
  • Functions and closures
  • Conditionals
  • Core JavaScript
    • Array
      • Array.prototype.unshift
      • Array.prototype.shift
      • Array.prototype.reverse
      • Array.prototype.push
      • Array.prototype.pop
      • Array.prototype.join
      • Array.prototype.splice
      • Array.prototype.indexOf
      • Array.prototype.length
    • JSON
      • JSON.parse
      • JSON.stringify
    • Math
      • Math.E
      • Math.LN2
      • Math.LN10
      • Math.LOG2E
      • Math.LOG10E
      • Math.PI
      • Math.SQRT2
      • Math.SQRT1_2
      • 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
    • Number
      • Number.isInteger
      • Number.isFinite
    • String
      • String.prototype.replace
      • String.prototype.trim
      • String.prototype.trimRight
      • String.prototype.trimLeft
      • String.prototype.toUpperCase
      • String.prototype.toLowerCase
      • String.prototype.split
      • String.prototype.substr
      • String.prototype.match
    • Function
      • Function.prototype.apply
      • Function.prototype.call
    • Date
      • Date.now

Testing

Tests are simple input (js) / output (php) comparisions.

  1. Create your source .js file at test/fixtures/js_feature.js
  2. Convert your .js to .php manually: node test/generate.js js_feature.js
  3. Run npm test

License

MIT

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

9 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago