問題タブ [pocketmine]
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 - 多次元配列を箇条書きで表示
次のことを行う再帰関数の設計について助けが必要です。
- 多次元配列を再帰的に表示します
<ul>
やなどの箇条書きを使用する必要があります<li>
- テキストはドキュメントにリンクしている必要があります。たとえば、テキスト「1.こんにちは」は、ディレクトリ構造 (配列構造) を維持したままリダイレクトされます。ただし、テキストは再帰的に表示する必要があります。
入力となる配列は、ディレクトリ階層の多次元配列になります。入力:
最初の出力は次のようになります
- ポケットマイン
- チュートリアル
- 1.はじめに
- チュートリアル
ただし、「1.はじめに」は「whateverURL/pocketmine/tutorial/1.はじめに」にリンクする必要があります。
これを次のように表示する必要があります(たとえば)
事前にご協力いただきありがとうございます。
python - Python で PocketMine プラグインを作成することは可能ですか?
Python で PocketMine にプラグインを作成することはできますか? そうでない場合、何か方法はありますか?
php - php - オブジェクトを含む配列を保存する
PocketMine API (Web 用ではない) を使用しており、複数の配列を格納して配列を返す関数を実行しましたpocketmine\item\Item
。
これは、オブジェクトを格納する配列と考えることができます。
基本的に、私がする必要があるのは、この配列を保存することですが、そのままの形ではありません。(オブジェクトを含む配列。) 試しserialize()
てみjson_encode()
ました。私の状況では、これらのどちらも機能しません。
これを行う方法はありますか?ありがとう。
php - PocketMine プラグインでローカライズされた説明を含むコマンドを作成するには?
プラグインで PocketMine API を使用して、翻訳された説明または使用法でコマンドを作成する方法は?
通常のコマンドでは、 などの変換コードの文字列%pocketmine.command.help.description
が渡されます。これらは元の PocketMine の lang ファイルへの参照であり、プラグインはそれらを変更できません。
プレーヤーが を実行する/help
と、クラスは の結果をヘルプ クライアントの出力形式とHelpCommand
連結します。Command::getDescription()
次に、 に渡されPlayer::sendMessage
、 に文字列が渡され、BaseLang::translateString
次にに渡され、BaseLang::parseTranslation
の出現箇所で内部的に翻訳が検索され/%[a-zA-Z0-9\.\-]+/
ます。BaseLang
このプロセスでは、サーバーを交換しない限り、何も追加できません。
php - この私有財産へのアクセスを本当に制限することは可能ですか?
私は私の試みで3つのトリックを使用しています:
- リフレクションは動的クラス プロパティでは使用できません
- 動的クラス プロパティにアクセスするときは、__get() または __set() を呼び出す必要があります。
- debug_backtrace() を利用して、次のようなものをエミュレートできます
private
Foo
プライベートな非静的プロパティを持つクラスの場合、外部のスコープがその値を変更すること$bar
を禁止したいと考えています。$this
したがって、私はこのようにしています:
これは (テストされていませんが) 3 種類のアクセスに対して無敵である必要があります。
- 直接アクセス
- debug_backtrace() は、呼び出しコンテキストが $this からのものかどうかをチェックします。$this の外への直接アクセスは許可されません。
- 反射プロパティ
- PHP の致命的なエラー: キャッチされていない ReflectionException: プロパティ バーが存在しません
- リフレクションは動的プロパティでは機能しません。その存在を検出することすらありません
ReflectionClass::hasProperty()
:-)
Closure::bind
- テストされていませんが、 debug_backtrace() はFILEとは異なる「ファイル」を返す必要があると思いますが、クロージャを定義したファイルを返します。私は の正しい使い方しか持って
Foo
いないので、正しいコードがロードされている限り気にしません。
- テストされていませんが、 debug_backtrace() はFILEとは異なる「ファイル」を返す必要があると思いますが、クロージャを定義したファイルを返します。私は の正しい使い方しか持って
ファイルを書き込む権限がなく、クラス メソッドを再定義する拡張機能がないが、任意の PHP コードを読み込むことができると仮定すると、このFoo->bar
プロパティを変更するメソッドはありますか?