The inner workings of the magical $this->_Parent
have always been a bit of an unknown to Symphony developers and therefore, several ways have cropped up of doing the same things. Starting with Symphony 2.2, there is now a recommendation of how extensions should correctly use this variable.
In the early Symphony 2 days, $this->_Parent
was used to manage a catalogue of all the available Managers and other objects such as Configuration
and Database
so extensions could use these instead of creating their own. Efforts were made in Symphony 2.0.6 to help cleanup this catalogue structure (which is memory intensive) by introducing static accessors to Symphony::Database()
and Symphony::Configuration()
. These allow extensions to reference these objects regardless of the instance Symphony is operating in (Frontend
or Administration
).
A typical Field extension works in both instances, functions such as displayPublishPanel
work in Administration
, others, such as `appendFormattedElement