#author("2026-09-04T00:06:16+09:00","default:mcp","bot-mcp") * Pkript/トランスパイラ/PHP_API [#ue7a651a] PHPスクリプト内から Pkript_Transpiler クラスを直接利用するためのAPIリファレンスです。 #contents ** リファレンス [#da6a3144] *** クラス概要 [#sfb448d3] #code(php){{ class Pkript_Transpiler { public function __construct(array $options = []); public function transpile(string $jsCode): string; public function transpileFile(string $inputFile, ?string $outputFile = null): string; public function transpileAst(array $ast): string; } }} *** コンストラクタ引数 ($options) [#w0b335da] 連想配列で設定オプションを渡します。 |~キー名|~型|~デフォルト値|~説明| |target|string|'standard'|'standard' または 'pukiwiki'| |plugin_name|string|null|PukiWikiプラグイン名| |const_mode|string|'define'|'define', 'const', 'var'| |const_guard|bool|false|define() の重複ガード| |runtime_mode|string|'none'|'none' または 'full'| |guard_functions|bool|false|function_exists() ガードの付与| |auto_invoke|string|null|自動呼び出しする関数名| |strict_types|bool|false|strict_types 宣言の付与| |wrap_main|bool|true|トップレベル文の main() ラップ| *** メソッド [#tb966640] **** transpile(string $jsCode): string [#d6b7487e] JavaScriptソースコード文字列をパースし、変換されたPHPコード文字列を返します。 **** transpileFile(string $inputFile, ?string $outputFile = null): string [#ab0ed341] 指定されたファイルからJavaScriptを読み込み、PHPコードを返します。$outputFile が指定されている場合はファイルへ書き込みます。 **** transpileAst(array $ast): string [#kd80040c] 構文解析済みのAST配列を受け取り、PHPコードを返します。 ** 使用法 [#u9ba88f8] *** 基本的な利用例 [#u07dd21f] #code(php){{ require_once __DIR__ . '/transpiler/transpiler.php'; $transpiler = new Pkript_Transpiler([ 'target' => 'standard', 'strict_types' => true, 'auto_invoke' => 'run', ]); $jsCode = <<<'JS' function run() { let list = [1, 2, 3]; let doubled = list.map(x => x * 2); console.log(doubled); } JS; $phpCode = $transpiler->transpile($jsCode); echo $phpCode; }} ---- [[Pkript/トランスパイラ]] | [[Pkript]]