Два стилю придбання підтримуються: явне і неявне придбання.
Неявне придбання названий так тому, що він шукає атрибутів з навколишнього середовища автоматично всякий раз, коли атрибут не може бути отримана безпосередньо від об'єкта або в спадщину.
Атрибут може бути неявно придбала, якщо його ім'я не починається з символу підкреслення.
Для підтримки неявне придбання, ваш клас повинен наслідувати від суміші в класі Acquisition.Implicit.
При використанні явного придбання, атрибути не автоматично отримують з навколишнього середовища. Замість цього, метод aq_acquire повинні бути використані.
Придбання написано в Python.
Придбання забезпечує потужний спосіб для динамічного обміну інформацією між об'єктами. Zope 2 використовує придбання для ряду ключових функцій, включаючи безпеку, публікації об'єкта і DTML змінної пошуку.
Придбання також забезпечує елегантне рішення проблеми кругових посилань для багатьох класів задач. У той час як придбання є потужним, ви повинні піклуватися при використанні придбання у ваших додатках.
Подробиці можна отримати складним, особливо з відмінностями між придбання з контексту і придбання від стримування
Що нового У цьому випуску :.
- Зробити чистої Python Набувач об'єкти спільно використовувати метод суперкласу __getattribute__, як здійснення C.
- обгортка чисто Python неявно придбання дозволяє загорнуті предмети, щоб використовувати об'єкт .__ GetAttribute __ (самостійна, ім'я). Це відрізняється від реалізації C, але має важливе значення для сумісності з версіями чисто Python бібліотек, як стійкі.
Що нового у версії 4.2.1:
- Перейти readme.rst випробування, коли тести виконуються поза Джерело замовлення.
Що нового у версії 4.2:
- Перейти readme.rst випробування, коли тести виконуються поза джерела перевірка.
Що нового у версії 4.1:
- Перейти readme.rst випробування, коли тести виконуються поза джерела перевірка.
Що нового у версії 4.0a1:
- Підняти RuntimeError: Рекурсія виявлені в обгортці придбання, якщо об'єкт з __parent__ покажчиків вказує на обгортці, що в свою чергу вказує на вихідний об'єкт.
- Запобігання обгортки повинен бути створений при доступі __parent__ за типами отриманих з явних або неявних базових класів.
Що нового у версії 2.13.8:
- Виправлена помилку сегментації на 64-бітних платформах при наданні явне аргумент методу aq_acquire з обгортки придбання.
Що нового у версії 2.13.7:
- Виправлена помилка: Коли об'єкт не реалізувати __unicode__ , називаючи Unicode (в упаковці) закликає __str__ з розгорнутою себе.
Що нового у версії 2.13.6 :.
- Додати aq_explicit в IAcquisitionWrapper
- Виправлена помилка: Unicode (в упаковці) не виклик методу __unicode__ на обгорнутих об'єктів .
Що нового у версії 2.13.5:
- Виправлені юніт-тести, які не змогли на 64-бітної ОС Windows Python на машини.
Що нового у версії 2.13.4 :.
- Виправлена помилка в Acquisition.h
Що нового у версії 2.13.3:
- Використовуйте doctest модуль зі стандартної бібліотеки і немає більше залежить від zope.testing.
Що нового у версії 2.13.2:
- Дайте обох класів обгортки метод __getnewargs__, що викликає оптимізація ZODB на провал, і створювати постійні посилання, використовуючи тільки _p_oid. Це відбувається, щоб бути стійким під'язична обернутого об'єкта. Це дозволяє ці об'єкти будуть наполегливо правильно, навіть якщо вони передаються в ZODB в згорнутому стані.
- Додана невдачу випробування для http://dev.plone.org/plone/ticket/10318. Це показує, ребро-випадок, коли AQ обгортки можна маринований за допомогою певної комбінації cPickle, соління протоколу один і користувальницький клас Pickler з inst_persistent_id гачок. На жаль, це точна комбінація використовується ZODB3.
Коментар не знайдено