ich versuchen, eine Eigenschaft Getter-Methode außer Kraft zu setzen (die durch sfDoctrineRecord verarbeitet :: __ call() Methode) wie folgt aus:Aufschalten Lehre Magie Accessormethode
//myClass.class.php
public function getProperty()
{
$property = parent::getProperty();
//the following line is never reached
return $property;
}
Aber dies führt zu einer Endlosschleife. Ist es möglich und wie?
Also ist es unmöglich? – Dziamid
Wenn die Methode 'parent :: getProperty()' die '__call'-Methode verwendet, dann bewirkt das Überschreiben von' getProperty', dass parent :: getProperty() 'die untergeordnete Methode immer wieder aufruft. Ich denke, Sie müssen die Funktionalität der übergeordneten getProperty-Methode in Ihrer untergeordneten Klasse duplizieren, um dies zu erreichen. Wenn jedoch die Methode 'getProperty' Ihrer untergeordneten Klasse so einfach ist wie oben gezeigt, sollten Sie sie nicht überschreiben. Die Version der Eltern wird tun, was Sie wollen. – bejonbee
Nein, natürlich nicht, ich wollte etwas Logik anwenden. Danke für Ihre Kommentare, löste es durch den Aufruf der Methode _get() direkt: $ property = $ this -> _ get ('Property') – Dziamid