magic-methods

    0

    1答えて

    デコレータパターンが必要なコードを作成しているので、__callの魔法の方法を使用して使用することを本当に簡単にしたいと考えていました。 デコレータパターン(ここでは、シングルトンを追加するにはいくつかのメソッドを追加し、いくつかは禁止する)を使用すると、メソッドの一部をオーバーライドする必要はありません。したがって、__callを使用すると、コードを簡素化することができます。 私の状況は、いくつ

    56

    2答えて

    メモ帳++でコード化して崇高なことを何年も幸せにしてから、私はPHP IDEを試してみることを勧めました。私はphpStormを試しているし、それはいいようです。コードの補完と文書化は素晴らしい機能ですが、魔法を使うときはうまくいきません。 phpStormに魔法の仕組みがどういうものなのかを理解させるための回避策はありますか? 私たちの状況はこのようなものです: abstract class a

    1

    1答えて

    私は2つのモデルを持っています:クライアントと契約。 クライアントには、id、email、およびclient_numberという3つの属性があります。 契約には3もあります:id、ip、およびclient_id。クライアントhas_many:契約。 コントラクトbelongs_to:クライアント。 Client.find_by_email_and_client_number 'some_email

    2

    3答えて

    PHPには別のメソッドが呼び出されるたびに呼び出されるマジックメソッドがありますか? __callStatic()メソッドと__call()マジックメソッドは、メソッドが存在しない場合にのみ機能するようです。

    0

    2答えて

    私が正しく理解していれば、__set()を使うと、その場でクラス変数を作成することができます。これはpublicであり、private/protectedプロパティにアクセスできます。 これは、使用してのように思える: __set($name,$value) { $this->data[$name] = $value; } OR: __set($name,$value) {

    10

    1答えて

    オブジェクトを含むリストに参加する - 結合に失敗する前にオブジェクトを文字列に変換するように設定できる魔法の方法はありますか? ', '.join([…, Obj, …]) 私は__str__と__repr__を試みたが、どちらも仕事

    1

    1答えて

    これは重複していないことを確かめてください...ここに行きます。 ここでの目標は、デバッグクラスで複数のマジックメソッドをオーバーロードして、メインクラスがそのクラスを拡張するようにすることです。私の考えは、これは私がすべてのクラスで魔法のメソッドを一つずつオーバーロードしなくても、アプリケーションスタックを通してデバッグのステップを持つことができるようにすることです。 これまでのコードは、この

    5

    2答えて

    私は魔法の比較メソッドのいくつかの混乱した動作に遭遇しました。 たちは以下のクラスがあるとします。 class MutNum(object): def __init__ (self, val): self.val = val def setVal(self, newval): self.val = newval def __str__(se

    9

    1答えて

    任意のオブジェクトをラップしようとしているうちに、辞書やリストに問題が発生しました。調べてみると、わたしは単純に理解できない振る舞いを持つ単純なコードを思いつきました。私はあなたのいくつかは、何が起こっている私に言うことを願って: >>> class Cl(object): # simple class that prints (and suppresses) each attribute loo

    6

    2答えて

    私は、実装がfind、findOrFailなどのメソッドを必要とすることを宣言するインターフェイスを持っています。基本的には、Laravelの雄弁なメソッドです。 インターフェイスを実装するものすべてが拡張機能を拡張するわけではないので、インターフェイスでこれらのメソッドを宣言するので、インターフェイスで宣言して、メソッドがそこに存在することを常に認識します。 私が知りたいのは、インターフェイスメ