Twee style van verkryging word ondersteun: eksplisiete en implisiete verkryging.
Implisiete verkryging word so genoem omdat dit soek vir eienskappe van die omgewing outomaties wanneer 'n kenmerk nie direk kan verkry word van 'n voorwerp of deur oorerwing.
'N kenmerk kan implisiet verkry as sy naam nie begin met 'n underscore.
Implisiete verkryging ondersteun, moet u klas erf die mix-in die klas Acquisition.Implicit.
Wanneer eksplisiete verkryging gebruik word, word die eienskappe nie outomaties verkry uit die omgewing. In plaas daarvan, moet die metode aq_acquire gebruik word.
Verkryging is geskryf in Python.
Verkryging bied 'n kragtige manier om dinamiese inligting tussen voorwerpe deel. Zope 2 gebruik verkryging vir 'n aantal van die belangrikste kenmerke insluitend sekuriteit, publishing voorwerp, en DTML veranderlike lookup.
Verkryging bied ook 'n elegante oplossing vir die probleem van omsendbrief verwysings vir baie klasse probleme. Terwyl die verkryging is 'n kragtige, moet jy sorg wanneer die gebruik van die verkryging in jou programme.
Die besonderhede kan ingewikkeld te kry, veral met die verskille tussen die verkryging van konteks en die verkryging van die bevalling
Wat is nuut in hierdie release:.
- Maak die suiwer Python Acquirer voorwerpe koöperatief gebruik die superklas __getattribute__ metode, soos die C implementering.
- Die suiwer Python implisiete verkryging wrapper laat toegedraai voorwerpe voorwerp .__ getattribute __ (self, naam) gebruik. Dit verskil van die C implementering, maar dit is belangrik vir verenigbaarheid met die suiwer Python weergawes van biblioteke soos aanhoudende.
Wat is nuut in weergawe 4.2.1:
- Slaan readme.rst toetse wanneer toetse uithardloop 'n bron afhandeling.
Wat is nuut in weergawe 4.2:
- Slaan readme.rst toetse wanneer toetse buite 'n bron is hardloop afhandeling.
Wat is nuut in weergawe 4.1:
- Slaan readme.rst toetse wanneer toetse buite 'n bron is hardloop afhandeling.
Wat is nuut in die weergawe 4.0a1:
- Verhoog RuntimeError: Rekursie bespeur in die verkryging wrapper as 'n voorwerp met 'n __parent__ wyser punte om 'n wrapper wat op sy beurt verwys na die oorspronklike voorwerp.
- Voorkom omhulsels word geskep, terwyl toegang tot __parent__ op tipes afgelei van eksplisiet of implisiet basis klasse.
Wat is nuut in weergawe 2.13.8:
- Vaste 'n segfault op 64bit platforms wanneer die verskaffing van die eksplisiete argument na die aq_acquire metode van 'n verkryging wrapper.
Wat is nuut in weergawe 2.13.7:
- Vaste fout: Wanneer 'n voorwerp nie implementeer __unicode__ , roep unicode (toegedraai) roep __str__ met 'n toegedraaide self.
Wat is nuut in weergawe 2.13.6:.
- Voeg aq_explicit om IAcquisitionWrapper
- Vaste fout: unicode (toegedraai) is nie 'n beroep 'n __unicode__ metode op toegedraai voorwerpe .
Wat is nuut in weergawe 2.13.5:
- Vaste eenheid toetse wat versuim het om op 64bit Python op Windows masjiene.
Wat is nuut in weergawe 2.13.4:.
- Vaste tikfout in Acquisition.h
Wat is nuut in weergawe 2.13.3:
- Gebruik die doctest module van die standaard biblioteek en geen meer afhang van zope.testing.
Wat is nuut in weergawe 2.13.2:
- Gee beide wrapper klasse 'n __getnewargs__ metode, wat veroorsaak die ZODB optimization te misluk en die skep van aanhoudende verwysings gebruik van die _p_oid alleen. Dit gebeur met die aanhoudende OID van die toegedraai voorwerp wees. Dit laat hierdie voorwerpe korrek te volhard, selfs al is hulle geslaag om die ZODB in 'n toegedraai staat.
- Added versuim toetse vir http://dev.plone.org/plone/ticket/10318. Dit wys 'n voorsprong-geval waar AQ omhulsels kan gepekelde gebruik van die spesifieke kombinasie van cPickle, piekel protokol een en 'n persoonlike Pickler klas met 'n inst_persistent_id haak. Ongelukkig is dit die presiese kombinasie gebruik word deur ZODB3.
Kommentaar nie gevind