- 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 
'Code > PHP' 카테고리의 다른 글
| [라라벨] DB 동시 쓰기 요청시 중복 레코드 생성 방지 (중복 방지) (0) | 2021.06.30 | 
|---|---|
| [php] Javascript 코드를 php로 변환 ( JS -> PHP ) (0) | 2021.06.23 | 
| [php] xdiff 확장 설치 방법 (0) | 2021.06.19 | 
| PHP Coding Standards Fixer (PHP CS Fixer) (0) | 2021.03.12 | 
| PHP CodeSniffer (0) | 2021.03.12 | 










