Sie können gleich oder unterschiedlich sein. Dies hängt von dem verwendeten Objekt ab.
Wenn die Klasse die Methode instanziiert enthält getName()dann das Ergebnis , das Sie von bekommen getNameund getData('name')kann unterschiedlich sein.
Sie können sogar einen Fehler erhalten, wenn die Klasse nicht erweitert wird Varien_Objectund nicht über die Methode verfügt getData.
Für Klassen, Varien_Objectdie die Methode erweitern und nicht enthalten, sind getName()die Ergebnisse der beiden Methoden identisch. Varien_Objectimplementiert die Methode __call, die aufgerufen wird, wenn eine bestimmte Methode nicht vorhanden ist. Sehen Sie hier, wie der Code aussieht .
Es ordnet also grundsätzlich den Aufruf einer beliebigen Methode getSomethingHere()zu getData('something_here'). Es funktioniert genauso für „fake“ Methoden , die mit beginnen set, hasund uns.
@AmitBera. Vielen Dank. das gleiche für dich von meiner Seite.
Marius
4
Daten empfangen():
In den meisten Fällen ist dies die Methode, die Sie verwenden sollten. Von den beiden Optionen ist diese tatsächlich schneller und effizienter. Wenn Sie die Ausgabe nicht ändern müssen und nur den Wert anzeigen möchten, verwenden Sie getData (). Es gibt jedoch Attribute, die mit getData () möglicherweise nicht ordnungsgemäß funktionieren, z. B. den Produktpreis. Obwohl ich es noch nicht getestet habe, wird getData ('name') höchstwahrscheinlich andere Ergebnisse liefern als getName ().
getAttributeName ()
Sie sollten diese Methode wirklich nur verwenden, wenn Sie die Methode in Ihrem Block überschreiben müssen, um der Anzeige / Formatierung der Daten Funktionen hinzuzufügen. Magento muss beim Rendern der Daten einige zusätzliche Schritte ausführen, wenn Sie diese Methode verwenden. Dies ist daher etwas langsamer als das Anzeigen von Daten mit getData (). Mit $ _product-> getName () kann ich dem Produktansichtsblock eine Funktion hinzufügen, um beispielsweise die Daten zu ändern, bevor sie ausgegeben werden
Ich verwende immer die zweite Methode, weil Sie nie wissen, wann jemand anderes eine Außerkraftsetzung vornehmen möchte. Es ist ein wichtiger Teil der Zusammenarbeit.
Uhrwerk
Können Sie bitte meine Antwort bearbeiten
Amit Bera
Ich denke nicht, dass es notwendig ist, Ihre Antwort zu ändern, da ich nur meine Meinung hinzugefügt habe.
Daten empfangen():
In den meisten Fällen ist dies die Methode, die Sie verwenden sollten. Von den beiden Optionen ist diese tatsächlich schneller und effizienter. Wenn Sie die Ausgabe nicht ändern müssen und nur den Wert anzeigen möchten, verwenden Sie getData (). Es gibt jedoch Attribute, die mit getData () möglicherweise nicht ordnungsgemäß funktionieren, z. B. den Produktpreis. Obwohl ich es noch nicht getestet habe, wird getData ('name') höchstwahrscheinlich andere Ergebnisse liefern als getName ().
getAttributeName ()
Sie sollten diese Methode wirklich nur verwenden, wenn Sie die Methode in Ihrem Block überschreiben müssen, um der Anzeige / Formatierung der Daten Funktionen hinzuzufügen. Magento muss beim Rendern der Daten einige zusätzliche Schritte ausführen, wenn Sie diese Methode verwenden. Dies ist daher etwas langsamer als das Anzeigen von Daten mit getData (). Mit $ _product-> getName () kann ich dem Produktansichtsblock eine Funktion hinzufügen, um beispielsweise die Daten zu ändern, bevor sie ausgegeben werden
Einige Details: /programming/3541273/magento-getsku-or-getdata-sku-returns-empty-string
quelle