[php] php 코드를 Javascript 코드로 변환 ( PHP -> JS )
- PHP source code script convert to Javascript script
- php 소스 코드 => 자바스크립트(JS) 코드 스크립트로 번역
//-----------------------------------------------------------------
* Kornel / babel-preset-php (JS , Babel 이용) <=== 추천
https://gitlab.com/kornelski/babel-preset-php - 163
- 2020.03 , v1.4
* 설치
- node.js 필요
npm update
npm i -g @babel/core @babel/cli @babel/preset-env
npm i -S babel-preset-php
* .babelrc 파일 수정
{
"presets": ["php"]
}
* php 변환
babel src.php -o out.js
- 변환 결과가 깔끔
//------------------------
// php
function str_limit2($_str, $limit, $last = '...')
{
$str = mb_substr($_str, 0, $limit);
if (mb_strlen($_str) > $limit && $limit > 4) {
$str .= ($last ? $last : '');
}
return $str;
}
//------------------------
//변환 결과
// JS
function str_limit2(_str, limit, last = "...") {
var str = mb_substr(_str, 0, limit);
if (mb_strlen(_str) > limit && limit > 4) {
str += last ? last : "";
}
return str;
};
//-----------------------------------------------------------------
//-----------------------------------------------------------------
* Danack / PHP-to-Javascript (PHP, Composer 이용)
https://github.com/Danack/PHP-to-Javascript - 96
- 2013.08 , v0.2.2
- composer 설치 초기화
- composer.json 파일 수정
{
...
"require": {
"base-reality/php-to-javascript": "^0.2.2"
}
}
composer install
or
composer require base-reality/php-to-javascript
- 테스트 파일 생성. test1.php
<?php
require_once '../vendor/autoload.php';
$phpToJavascript = new PHPToJavascript\PHPToJavascript();
$phpToJavascript->addFromFile('src.php');
$jsOutput = $phpToJavascript->toJavascript();
file_put_contents('out2.js', $jsOutput);
echo $jsOutput;
- 실행
php test1.php
//------------------------
// php
function str_limit2($_str, $limit, $last = '...')
{
$str = mb_substr($_str, 0, $limit);
if (mb_strlen($_str) > $limit && $limit > 4) {
$str .= ($last ? $last : '');
}
return $str;
}
//------------------------
//변환 결과
// JS
function str_limit2(_str, limit, last) {
if (typeof last === "undefined") {
last = '...';
}
var str = mb_substr(_str, 0, limit);
if (mb_strlen(_str) > limit && limit > 4) {
str += (last ? last : '');
}
return str;
}
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// 참고
// 자바스크립트로 변환 가능한 언어들
List of languages that compile to JS
https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS#php
- phype 중단됨
//-------------------------------------
* asmblah / uniter
https://github.com/asmblah/uniter - 410
- v2.17.0 , 2021.03
- php 코드를 브라우저나 Node.js에서 시키는 프로젝트
* uniter / phptojs
https://github.com/uniter/phptojs - 25
- 2021.02
PHP-to-JavaScript transpiler
- 번환 모듈
//-------------------------------------
* niklasvh / php.js
https://github.com/niklasvh/php.js - 818
- 2015.03
- PHP VM : php 코드를 자바스크립트 상에서 실행 키는 가상머신 프로젝트
git clone https://github.com/niklasvh/php.js
cd php.js
npm install
grunt
//-----------------------------------------------------------------------------
* glayzzle / php-transpiler
https://github.com/glayzzle/php-transpiler - 15
- node.js용 php -> js 변환 api
//-------------------------------------
*
https://github.com/phpnode/YiiJS/blob/master/protected/commands/js/phpToJS.php