2010-01-21 5 views
0

이상하게 들릴 수도 있지만 옳은 대답으로 코딩 시간을 절약 할 수 있습니다. Ruby-on-rails 클래스 (~ 10 개 파일, 총 1000 개 라인)를 발견하여 특정 목적 (지불 게이트웨이 통합)을 제공합니다. 그러나 나는 루비에 익숙하지 않고 PHP 애플리케이션에서 그 클래스를 사용해야한다. 저에게 변환을 수행 할 수있는 프로그램이 있는지 궁금합니다. 내가 관리 할 수있는 코드의 일부를 직접 편집해야 할 수도 있음을 이해합니다.Ruby-on-Rails 코드를 PHP로 변환

+0

현재 앱을 유지 관리하는 것이 잘못된 이유는 무엇입니까? –

+0

특정 게이트웨이에 대한 PHP 인터페이스를 찾았습니까? –

답변

1

아니요, 임의의 루비 코드를 PHP로 컴파일하는 상용, 무료 또는 오픈 소스 컴파일러가 없습니다.

다른 답변은 기존 루비 코드 위에 간단한 휴식 프레임 워크를 만들고 웹에서 curl (또는 다른 http/웹 서비스 라이브러리)을 사용하여 가져 오는 데 충분한 루비 온 레일을 배울 것을 제안합니다. 새 간단한 레일 애플리케이션에서 URL에 게시하십시오. 이러한 요청은 루비 클래스 내에서 루비 내에서 실행되는 메소드를 트리거합니다. PHP 런타임에 의한 루비 코드의 직접적인 실행은 없을 것입니다.

제 생각에는 PHP로 작성된 지불 게이트웨이 코드를 찾아 대신 사용하는 것이 좋습니다.

+0

이 답변에 묻어 두었던 제안이 좋습니다. ;) – Ipsquiggle

+0

"제안"은 아마도 옳은 일입니다. –

0

그런 일을 할 소프트웨어가 없습니다.

Ruby on Rails에 익숙하지 않다면 인터페이스를 사용하거나 비즈니스 로직을 꺼내서 처음부터 다시 실행할 수 있습니다.

+0

어떻게 인터페이스합니까? PHP가 Ruby 파일을로드하고 실행할 수 있습니까? –

+0

예를 들어 실행중인 레일 앱에 GET 호출을 할 수 있습니다. – marcgg

1

Rails 앱과 이야기하기가 쉽습니다.

기본적으로 HTTP 메소드를 URL로 보내고있는 REST 호출을 통해 대화 할 수 있습니다.

예를 들어,/GET to /products.xml은 모든 제품 목록을 반환합니다. 적절한 매개 변수를 사용하여/payment/new로 A/PUT을하면 새로운 지불 모델 등이 시작됩니다.

작동 방식, 모델 및 사용 가능한 경로를 알아야합니다. . 운 좋게도 Rails는 많은 도구를 제공합니다. 그 중 하나는 경로라는 레이크 작업입니다.

"rake routes"를 실행하면 필요한 HTTP 메소드와 지원되는 매개 변수를 사용하여 Rails가 작동하는 모든 URL 목록이 반환됩니다. 이 정보를 통해 해당 앱과 대화하는 방법을 알 수 있습니다.

Gotcha : PUT과 DELETE는 모두 현재 브라우저가 크게 구현하지 않는 HTTP 메소드이므로 _method 매개 변수를 사용합니다. _method : "put"매개 변수를 사용하여 POST 메서드를 보내면/PUT 메서드가 전송 된 것처럼 작동합니다.