問題タブ [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 - プッシュが拒否され、PHP (HHVM) アプリのコンパイルに失敗しました
Heroku で HHVM と Hacklang を使用して Web アプリを開発する必要があります。問題は、git push
Heroku マスターにアクセスしたときに、次のエラー メッセージが表示されたことです。
Composer の設定の問題でしょうか?
hhvm - HHVM クラス 未定義の SleepWaitHandle
幼虫アプリケーションで HHVM の非同期関数を使用しようとしています。関数に async キーワードを追加しましたが、await SleepWaitHandle の行でエラーが発生します。クラスが定義されていないと言っています。これに関するドキュメントが変更されたようには見えません。私は何が欠けていますか?
これは、3.9ナイトリーと3.8安定版で発生しました。Ubuntu 14.10 を実行しています。
http://hhvm.com/blog/7091/async-cooperative-multitasking-for-hackからデモを実行してみました
しかし、これをコマンドラインで実行すると戻ります
hhvm - XHPChild の子を取得する
もちろん、私は自分のウェブサイトを Hack と XHP に移行しようとしています。以下は、達成したいコード構造の構造です。
(注: :ui:backstageHeader-navItem
基本的にはにレンダリングされる<a href={$this->:href}>{$this->getCHildren}</a>
ため、ここでそのクラスをアタッチする必要はありません。)
以下はのコードです:ui:backstageHeader
:
ターミナルを使用してコードをデバッグしhhvm -m d <file.php>
ましたが、すべて問題ありませんでした。ただし、ブラウザにアクセスすると、500
エラー ヘッダーが表示されます。これはログが言うことです:
エラーの原因は
しかし、どういうわけか、からに追加する必要がありul.main-navigation
ます。div.cell-navigation
section.backstage-header
どうすればいいですか?
hacklang - AsyncMysqlClient の照合順序を変更
AsyncMysqlClient
(またはAsyncMysqlConnection
、どれかわかりません)の照合順序を に変更するにはどうすればよいutf8
ですか?
ドキュメントを読みましたが、文字セットを変更する方法が見つかりません。もし実際にあるのなら、私はおそらくそれを見逃しています。
travis-ci - Travis CI は Hack をサポートしていますか?
Hack でコードを完全に記述しました。Travis CI を使用して、Hack を有効にしたさまざまな HHVM バージョンでビルドをテストしたいと考えています。HHVM をテスト プラットフォームとして選択した場合、Travis CI は Hack をサポートしますか?それとも PHP だけですか?
php - リンク置換用の正規表現を使用した XHP
xhp_a
テキスト入力を指定すると、段落内でリンクが検出されたときに変更されたテキストを返す単純な関数を実装しようとしていますxhp_p
。
このクラスを検討してください
ここでの問題は、xhp
エスケープhtml
とリンクが期待どおりに表示されないことです。これは、DOM 階層が期待どおりに作成されず (appendChild
メソッドなどで)、regex
置換されるものがすべて文字列であるために発生すると考えられます。
したがって、この問題に対する私の他のアプローチは、階層をpreg_match_callback
作成して追加するコールバック関数を使用することでしたが、それも機能しませんでした。xhp_a
xhp_p
私はどこか間違っていますか?サーバーではなくクライアント側でロード時にhtmlを見つけて置き換えるだけで、セキュリティリスク/大きなオーバーヘッドが発生しない場合はありませんか?
御時間ありがとうございます !
php - PHP: オプションのリストを引数として送信する (名前付きパラメーター/引数バッグの代替)
関数の引数としてオプションのリストを渡したいと思います。
理想的なシナリオ: 名前付きパラメーター
PHP に名前付きパラメーターがある場合は、次のようになります。
残念ながら、PHP には名前付きパラメーターがありません(PHP7 でコメントとしてパラメーターを指定する予定があるかどうか教えてください)。
他の誰もが使用しているソリューション: 連想配列
私が見たほとんどの PHP スクリプトは、次のような代替配列アプローチを使用しています。
連想配列アプローチの欠点
これは問題なく動作しますが、次の欠点があります。
- ユーザーはオートコンプリートの恩恵を受けません (書き込みに時間がかかります)
- ユーザーはスペルを間違えやすい
- 利用可能なオプションがわからないため、頻繁にドキュメントに戻る可能性があります
より良い方法はありますか?
これらの問題に対処できるより良い方法はありますか (現在の PHP または PHP7、あるいは hacklang(?) のいずれか)。
ubuntu - Atom/Nuclide と Hack でインライン エラー チェックを行うにはどうすればよいですか?
Nuclideはエラー チェックをサポートしていると思われますが、設定方法がわかりません。
- Atom を新規インストールしました
- 経由でNuclideをインストールしました
apm install nuclide-installer
hh_client
コマンドラインでプロジェクトディレクトリから実行して、Hackが正しくインストールされていることを確認しましたが、エラーが報告されます- プロジェクトのルートにが
.hhconfig
ありますが、空です (中に何を入れるかわかりません) - ウォッチマンがインストールされています
IDE にエラーは表示されません (スクリーンショットを参照)。他にやらなければならないことはありますか?
nginx - hhvm ハック lang エラー 500 代わりにエラー レポート
nginx docker サービスでハックをいじってみました。エラーを引き起こす代わりに、すべてがうまくいきます。たとえば、この関数:
これは整数ではないため、エラーが発生するはずです。しかし、エラー メッセージを返す代わりに、500 ページが表示されます。
hhvm index.hh
コンソールに入力すると、次のようになりました。
Catchable fatal error: Argument 1 passed to add_one() must be an instance of int, string given in /var/www/index.hh on line 7
500 ページを回避して、代わりにこのエラー メッセージを印刷するにはどうすればよいですか?