V8Js クラス
(PECL v8js >= 0.1.0)
はじめに
これは V8Js 拡張モジュールのコアクラスです。 このクラスのインスタンスはそれぞれ個別のコンテキストを持ち、 その中ですべての JavaScript をコンパイルして実行します。
詳細は V8Js::__construct() を参照ください。
クラス概要
class V8Js
{
/* 定数 */
/* メソッド */
public __construct(
string
array
array
bool
)
string
$object_name
= "PHP",array
$variables
= array(),array
$extensions
= array(),bool
$report_uncaught_exceptions
= true
)
public executeString(string
}$script
, string $identifier
= "V8Js::executeString()", int $flags
= V8Js::FLAG_NONE
): mixed定義済み定数
V8Js::V8_VERSION
-
V8 JavaScript Engine のバージョン。
V8Js::FLAG_NONE
-
何もフラグが立っていません。
V8Js::FLAG_FORCE_ARRAY
-
すべての JS オブジェクトを PHP の連想配列にします。
目次
- V8Js::__construct — 新しい V8Js オブジェクトを作成する
- V8Js::executeString — 文字列を JavaScript のコードとして実行する
- V8Js::getExtensions — 登録された拡張の配列を返す
- V8Js::getPendingException — キャッチされなかった JavaScript 例外の中で未処理のものを返す
- V8Js::registerExtension — V8Js で使う JavaScript の拡張を登録する
+add a note
User Contributed Notes 3 notes
mateusz dot charytoniuk at gmail dot com ¶
11 years ago
This extension can be used to provide server-side and client-side form validation by executing the same JavaScript code at both places.
Hoffmann dot P-no-sp at m-gmx dot net ¶
8 years ago
You can use function variables (jay!)
So the following works:
$add = function ($a, $b) {
return $a + $b;
};
$v8 = new V8Js('PHP', array('add' => 'add'));
$result = $v8->executeString('PHP.add(1,2)');
var_dump($result);
yields indeed:
int(3)
mateusz dot charytoniuk at gmail dot com ¶
9 years ago
v8js can be also used to render server-side javascript components (see: React.js).
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google