問題タブ [hacklang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - HHVM ソースをプレーンな PHP にハックする
GoogleとSOで検索しました。この質問またはそれに対する回答がどこにも見つかりませんでした。SOここに行きます。
少なくともいくつかの小さなプロジェクトでは、仕事で Hack を使い始めたいと思っています。現在、私たちのサーバーには HHVM がインストールされていません。そのため、Hack をローカルで記述して使用できるかどうか疑問に思っていましたが、Hack ソース ファイルをプレーンな PHP に「コンパイル」/「変換」します。プレーンな PHP ソースは、現在のプラットフォームにそのままデプロイできます。
私は知っています、エッジケース、長期的ではありませんが、とにかくその可能性に興味があります
編集Facebookが Hack から PHP へのトランスパイラを リリースしたため、この種の質問をする人は十分にいるようです。まだ試していませんが、ここで言及したいと思います。
hhvm - HHVM で EnableHipHopSyntax を True に設定する
コードを実行すると、次のエラーが表示されます。
myfile.php には、その行に次の関数があります。
肝心): string"
なのは、ハック言語に適した構文ですが、何らかの理由で、HHVM はデフォルトで独自の構文を見事に無効にすることにしました。
その構成ファイルの設定方法を示すHHVMのドキュメントが見つからないようです。このプロセスをどのように進めることができますか?
編集:
私の HHVM 変換ツールは、自分自身を変換したため、指示したとおりに変換<?php
されませんでした。<?hh
言い換えれば、それは に変換しようとしていたのです<?hh
が<?hh
、これは私には役に立ちませんでした。
私は HHVM が<?hh
タグに対してそれを無効にしていると誤解していましたが、そうではありませんでした。
hhvm - ubuntu14.04 で ngnix を使用して単純な hhvm サイト (hack-site-example) を構成する際の問題
https://github.com/hhvm/hack-example-siteの指示に従いましたが、ubunut 14.04 を介して ngnix で hhvm ハック サイトをセットアップする際に道に迷ってしまいました。14.04 に適切な apt-get リポジトリを使用したことに注意してください。
ただし、構成して 127.0.0.1:9000 にアクセスしようとすると、/var/log/hhvm/error.log にエラーが表示されます
私の /etc/ngnix/sites-enabled は次のとおりです
/etc/ngnix/sites-available/hack-example-site の内容は次のとおりです。
ローカル ホストで実行されているこの hhvm サイトについて誰か助けてくれませんか? ありがとう。
ああ、ngnix が正しくインストールされ、サーバーが localhost に応答することに注意してください。
以下の構成ファイル /etc/nginx/sites-available/hack-example-site:
サイト/index.php
$document_root$fastcgi_script_name;
} } ~
nginx - 必要なインクルードが作成されているにもかかわらず、HHVM で XHP を使用しているときに未定義のクラスを取得する
ubuntu 14.04およびhhvm 3.3.0でnginx 1.6.2を使用しています。
私のサーバーはローカルに構成されており、そのページにアクセスして通常のハック スクリプトを実行できます。
問題は、XHP ライブラリを含める必要があるスクリプトを実行しようとしたときに発生します。コマンドラインから呼び出すと完全に機能hhvm index.php
します。期待される出力で実行されますが、ブラウザーからページを開こうとすると、hhvm は xhp undefined class エラーをログに記録します。
これは私のセットアップです:
これは index.php ファイルです。
これは info.php ファイルです。
他のファイルはhttps://github.com/facebook/xhp/tree/hack/php-libから取得されます。
init.php の先頭に error_log を入れると、bash から実行するとエラーが出力されますが、ブラウザから実行すると何も出力されません (undefined class エラーを除く)。
Nginxでもエラーは発生しません。
ブラウザから info.php にアクセスすると、期待どおりの出力が得られます:「Using HHVM」
ありがとうございました。
php - PHP Hack でリフレクションを使用してジェネリック型を取得する
私は HHVM でハックを調査しており、ジェネリックを使用しています。次のベース リポジトリがあります。
次に、次のようなサブクラス UserRepository があります。
私ができるようにしたいのは、実行時にリフレクションを使用して T の型を取得することです。
私は次のことを試しました:
次を出力します。
}
次に、パラメーターを繰り返し処理して呼び出します: $parameter->getClass()
null を返します。
リフレクションを使用して実行時に T の型を取得することは可能ですか? もしそうなら、どうすればいいですか?