問題タブ [extending-classes]

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.

0 投票する
2 に答える
576 参照

python - Python クラスの拡張時に静的変数を更新する

ライブラリの拡張機能を作成していて、新しい関数を基本クラスの関数ポインタの辞書に登録したいと考えています。私の理解では、辞書はクラス内の最上位のスコープにあるため、静的であり、更新可能である必要があります。ただし、update()拡張クラスで新しい関数を使用して辞書にしようとすると、未定義であることがわかります。次の最小限の例は、エラーを再現します。

実行すると、次のエラーが発生します

オリジナルを(合理的に)変更できないので、SomeClassこれを回避する方法はありますか?

編集:望ましい結果はSomeExtensionClassdictionary={'a':somefunction1, 'b':somefunction2}

0 投票する
1 に答える
421 参照

php - 同じスレッド内の親静的メンバーに値を割り当てるスレッド環境の PHP バグ?

PHPのバグなのか意図的な動作なのか疑問に思うこの問題があります。子クラスで MySQL リソースを親メンバーに割り当てると、スレッドとして実行すると値が失われます。

このコードは実行されません。MySQL リソースが 2 回表示されます。

これが結果です - 「親からアクセスされたメンバー: 」の予想される出力は、 「リソース id#2 」のようなものになるはずです:

私はそれを変更する必要があり、メンバー$m_Connectionは からリソースを受け取り/保持しfopen()ます。注:スレッドで動作しています!

出力:

サンプルを実行するための要件:

  1. スレッド セーフを有効にしてコンパイルされた PHP
  2. pThread ライブラリでコンパイルされた PHP

この記事に従って、スレッドで MySql に接続する必要があります: http://php.net/manual/en/intro.pthreads.php

更新

コードを変更し/etc/php.iniました。MySql データベースに接続する代わりに開いています。同じ結果 --> 拡張クラスからリソースを返すときにリソースが失われます。サンプルは現在、何も変更/適応することなく 1:1 で実行されています。

0 投票する
1 に答える
110 参照

php - セッターがプロパティを設定できないことを警告しないのはなぜですか?

クラスaでは、setter定義されています。classbを拡張する classaには、クラスが参照できないprivate変数があります。このコードの in クラスは、変数に到達できないため、最初の値とは異なる値に変数を設定するaことsetterはありません。このコードを実行すると、ケース A に対して が出力されます。atest0

ただし、ケース B を実行するExceptionと、プロパティtest2が存在しないというメッセージが表示されます。

私の質問は、クラスaが実際に変数testを認識できず、その値を設定できない場合、エラー、例外、警告、または小さな通知さえも表示されないのはなぜですか?

これは、実際のプロジェクトで私に起こった状況であり、エラーが生成されず、コードが論理的に正しいように見えるため、見つけるのが困難でした。では、今後この種のミスを防ぐにはどうすればよいでしょうか。

0 投票する
0 に答える
846 参照

php - Laravel 5 - 抽象プロバイダーの拡張

私は Laravel\Socialite\Two\AbstractProviderを拡張しようとしていますが、Laravel でこれを行うための最善/適切な方法がわかりません。ドキュメントを読むと、サービス プロバイダーでこれを行うべきだと思いました。

どんな助けでも素晴らしいでしょう、これが私のサービスプロバイダー用のコードです:

SocialiteServiceProvider.php

それから私は2番目のファイルを持っています

SocialiteAbstractProvider.php

また、登録イベントを確認できるので、構成に適切に追加しました。

0 投票する
1 に答える
59 参照

php - パッケージ モデルの拡張

Cmgmyr\Messenger をインストールしましたが、ユーザー テーブルにnameフィールドが含まれていないため、Thread モデルを拡張する必要があり、場合によっては他のいくつかも拡張する必要があります。

拡張する必要がある方法は次のとおりです。

users.name ファイルが呼び出されていることに注意してください。これは、username またはさらに良い users.firstname と users.lastname に変更する必要があるものです。

次の構造に拡張する必要があります。

これについてどうすればよいですか?

0 投票する
1 に答える
299 参照

wordpress - Woocommerce - 製品データをカスタム テーブルのデータとマージしてみてください

いくつかのカスタム テーブルがあり、小枝で高度なカスタム フィールド (acf) を使用しています。これらのフィールドはカスタム テーブルに保存されます。

例えば:

custom_table1custom_table2custom_table1_table2_relationその他。

これらは管理製品パネルで編集でき、製品データに関連するオブジェクトとして表示されます。次に、それらを連想配列にマージします。

私はこれを持っています:

そして私はこれが好きです:

WC_Class を拡張して、これらをフロントで呼び出すアクションを作成しようとしました

これは単なるスニペットの例です

しかし、私はそれを取得しません。私は少し混乱しています

0 投票する
1 に答える
52 参照

c# - 親コンストラクターを呼び出す最も簡単な方法

私は、 構成とデータベース エントリを検索することによって多くの重要なことを行う public を持つエンティティ フレームワークを使用しており、このコードはサードパーティからのものであるため、編集できませんParentClass。ただし、アクセスできないfunctionホワイトリストの情報に「検索」を追加したいと考えています。functionParentClass

以下のコードは、何が起こっているかのモックアップです。ParentClassを拡張してアクセスするためのより良い方法はありますかfunction