私は HipHop を初めて使用し、カスタム PHP アプリケーションをコンパイルして実行しようとしています。コンパイル エラー ログ ファイルには、$this 変数が「未宣言」であることに関連する何百ものエラーが含まれています。簡単な例を次に示します。
ファイル bar.php:
class Bar {
private $_baz = 'Hello';
public function __construct() {
echo 'Constructed';
}
public function foo() {
echo $this->_baz;
}
}
$bah = new Bar();
$bah->foo();
このファイルは、リスト テキスト ファイル f.lst の唯一のエントリとしてリストされ、HipHop コンパイラが呼び出されます...
root@hiphop:/home/rich/www# hhvm --hphp --input-list=f.lst -k 1 --log=3
running hphp...
creating temporary directory /tmp/hphp_rC6OVL ...
parsing inputs...
parsing inputs took 0'00" (3605 us) wall time
pre-optimizing...
pre-optimizing took 0'00" (1757 us) wall time
analyze includes...
analyze includes took 0'00" (4 us) wall time
inferring types...
inferring types took 0'00" (1503 us) wall time
post-optimizing...
post-optimizing took 0'00" (2870 us) wall time
creating binary HHBC files...
creating binary HHBC files took 0'00" (254854 us) wall time
saving code errors...
all files saved in /tmp/hphp_rC6OVL ...
running hphp took 0'00" (357323 us) wall time
結果の JSON エラー ログ /tmp/hphp_rC60VL/CodeError.js - これが含まれます:-
[1,{"UseUndeclaredVariable":[{"c1":["bar.php",11,8,11,12]
,"d":"$this"}
]
}
]
ここで明らかな何かが欠けていますか?
ティア