Skip to content
This repository has been archived by the owner on Aug 9, 2018. It is now read-only.

Latest commit

 

History

History
80 lines (67 loc) · 1.62 KB

readme.md

File metadata and controls

80 lines (67 loc) · 1.62 KB

py2php

транслятор с языка программирования Python в PHP

TODO

  • Import и пасинг загруженного кода
  • Import from
  • Import alias
  • TryExcept
  • TryFinally
  • function vararg
  • function kwarg
  • Nested функций и классы
  • Добавлять в начало функций static и abstract если есть в декораторах @abstract, @static
  • писать при вызове статических и константных аттрибутов «::»(Paamayim Nekudotayim) вместо «->», а это обычно аттрибуты написанные прописными буквами (константы), или методы с декоратором @staticmethod
  • генерировать интерфейс класс если у класса есть декоратор interface
  • доработать lambda
  • доработать for
  • yeld
  • with
  • написать консольную утилиту для конвертаций XML или JSON, созданный документогенераторами PHP, в Python (генератор оберток)

Пример

Код:

class Asd(A):
    f = []
    g = ""
    h = 0
    def __init__(self):
        self.g = True
        
    def _foo(self):
        self.publiddsds(a,d)
    
    def publiddsds(self):
        pass

переведется в:

class Asd extends A {
    protected $f = array();
    protected $g = '';
    protected $h = 0;

    function __construct () {
        $this->g = true;
    }

    protected function _foo() {
        $this->publiddsds($a, $d);
    }

    public function publiddsds() {
        ;
    }
}

Как пользоваться генератором оберток?

Установите phpDocumentator2 Используйте ее для генераций XML файлов:

phpdoc -d "./src" -t "./folder_for_xml" --template="XML"

После этого:

python wrapper_gen.py -i "./folder_for_xml/structure.xml" -o "./wrapper"

Лицензия

MIT