は、私はこのような(sfDoctrineRecord :: __()メソッドの呼び出しによって処理される)プロパティのゲッターメソッドをオーバーライドしてみてください。それは可能なのか?オーバーライド教義マジックアクセサメソッド
1
A
答えて
7
次のように試してみてください。
0
DoctrineRecord.__callメソッドの中にはメソッドを呼び出そうとするcall_user_func_array
が使用されています。
getProperty
をオーバーライドしているので、それは子クラス定義を呼び出しているので、それ自体を呼び出しています。また、
public function getProperty()
{
$property = $this->_get('property');
//the following line is never reached
return $property;
}
をカスタムミューテータとアクセサについて読み:
関連する問題
- 1. オーバーライド教義形質プロパティが
- 2. )教義
- 3. 教義:
- 4. symfony2教義クリアキャッシュ
- 5. 教義クエリビルダサブストリング
- 6. コンバートSQL(教義)
- 7. SQLエラー教義
- 8. 教義テーブル
- 9. リユース教義エイリアス
- 10. Symfony2の教義
- 11. Shortcuting教義コード
- 12. 教義2.0 ORX
- 13. 右ジョイント教義
- 14. 教義2
- 15. 教義クエリビルダ
- 16. 教義エンティティ
- 17. 教義DQLクエリが
- 18. 教義多対多
- 19. 教義2マッピング、エラー
- 20. Zend Frameworkの、教義
- 21. symfonyの、教義と
- 22. Symfony2の教義クエリ
- 23. 教義とManyToOneエンティティ
- 24. 注釈教義ManyToOne
- 25. 教義WhereHas等価
- 26. 教義のEntityManagerエラー
- 27. 教義、ralationのManyToOne
- 28. 教義DBAL取引
- 29. TypeScriptの型定義をオーバーライド
- 30. Symfony2のアクセス教義UPDATE
だから不可能ですか? – Dziamid
'parent :: getProperty()'メソッドが '__call'メソッドを使用している場合、' yes 'をオーバーライドすると 'parent :: getProperty()'が子メソッドを何度も呼び出すようになります。 これを行うには、親クラスのgetPropertyメソッドの機能を子クラスに複製する必要があると思います。 しかし、あなたの子クラスの 'getProperty'メソッドがあなたが上に示したように単純であるならば、それをまったく上書きする必要はありません。親のバージョンは、あなたが望むものをやり遂げます。 – bejonbee
いいえ、私はいくつかの論理を適用しようとしていました。ご意見ありがとうございました。直接_get()メソッドを呼び出すことで解決しました:$ property = $ this - > _ get( 'Property') – Dziamid