Skip to content
/ phptogo Public

Transpile PHP code to Go like code.

License

Notifications You must be signed in to change notification settings

sters/phptogo

Repository files navigation

PHP to Go

CircleCI

This is transpiler for PHP code to Go like something code.

Example and Usage

Let's see example directory, and try this.

First, execute git clone and composer install.

$ composer run -l
scripts:
  test             Runs the test script as defined in composer.json.
  convert          Runs the convert script as defined in composer.json.
  convert-example  Runs the convert-example script as defined in composer.json.

$ composer run convert-example
> cd example/simple-convert && rm result.go && php main.php -i target.php -o result.go
Starting: target.php

$ diff --ignore-all-space --side-by-side example/target01.php example/result01.go
<?php                                                         | // Code generated. MUST EDIT!
                                                              >
                                                              >
                                                              >

/**                                                             /**
 * @param int $count                                             * @param int $count
 * @return array                                                 * @return array
 */                                                              */
function fibonacci($count)                                    | func fibonacci(count){
{                                                             |     switch (count) {
    switch ($count) {                                         <
        case 1:                                                         case 1:
            return [1];                                       |             return []interface{}{
                                                              >                 1,
                                                              >             }

        case 2:                                                         case 2:
            return [1, 1];                                    |             return []interface{}{
                                                              >                 1,
                                                              >                 1,
                                                              >             }

        default:                                                        default:
            $tmp = fibonacci($count - 1);                     |             tmp = fibonacci(count - 1)
            $tmp[] = $tmp[count($tmp) - 1] + $tmp[count(      |             tmp[] = tmp[len(tmp) - 1] + tmp[len(tmp) - 2]
            return $tmp;                                      |             return tmp
    }                                                               }
}                                                               }

var_dump(fibonacci(10));                                      | fmt.Printf("%+v\n", fibonacci(10))


$ composer run convert
> php example/simple-convert/main.php
You must need some options:
	 -i input-file. If missing, program exit.
	 -o output-file. If empty, output to stdout.
Script php example/simple-convert/main.php handling the convert event returned with error code 1

About

Transpile PHP code to Go like code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages