V8js

V8js

PHP 안에서 JavaScript 코드를 실행해야 할 일이 가끔 있어요. 예를 들어 JS로 된 로직을 서버에서 재사용하고 싶을 때죠. V8js 확장은 V8 JavaScript 엔진을 PHP에 내장해서, PHP에서 JavaScript 코드를 직접 실행할 수 있게 해 주는 확장이에요.

출처: V8js

본문

이 확장은 V8 JavaScript 엔진을 PHP에 내장해요. PHP 안에서 JavaScript를 실행해야 할 때 유용해요.

설치·설정(Installing/Configuring)

  • 요구 사항(Requirements)
  • 설치(Installation)
  • 런타임 설정(Runtime Configuration)
  • 예제(Examples)

V8Js 클래스

  • V8Js — V8Js 클래스
  • V8Js::__construct — 새 V8Js 객체를 생성해요(Construct a new V8Js object).
  • V8Js::executeString — 문자열을 JavaScript 코드로 실행해요(Execute a string as Javascript code).
  • V8Js::getExtensions — 등록된 확장 배열을 반환해요(Return an array of registered extensions).
  • V8Js::getPendingException — 대기 중인 잡히지 않은 JavaScript 예외를 반환해요(Return pending uncaught Javascript exception).
  • V8Js::registerExtension — V8Js용 JavaScript 확장을 등록해요(Register Javascript extensions for V8Js).

V8JsException 클래스

  • V8JsException — V8JsException 클래스
  • V8JsException::getJsFileName — getJsFileName 용도(The getJsFileName purpose).
  • V8JsException::getJsLineNumber — getJsLineNumber 용도(The getJsLineNumber purpose).
  • V8JsException::getJsSourceLine — getJsSourceLine 용도(The getJsSourceLine purpose).
  • V8JsException::getJsTrace — getJsTrace 용도(The getJsTrace purpose).

더 알아보기

  • executeString()으로 실행한 JavaScript에서 throw 된 예외는 V8JsException으로 잡히는데, JS 쪽의 파일·줄 번호·스택 정보를 꺼낼 수 있어요.
  • JS 확장을 등록해 두면 실행 환경을 구성할 때 유용해요. 정확한 동작은 원문 매뉴얼의 예제와 함께 보는 것이 좋아요.