|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Paul Kulchenko 2:5020/400 06 Oct 2000 22:11:28 To : All Subject : Re: Сохранение состояния переменныx: Persistence via DB -------------------------------------------------------------------------------- Hi, Konstantin! Konstantin Osipov wrote: > AB> perldoc Storable > А никомy не попадалась библиотека, позволяющая отображать (т. е. сохранять, > восстанавливать) произвольные объекты и связи междy ними на реляционнyю базy > данных? А ты поищи по слову Serialize/Marshalling/RPC на CPAN. Hасколько я помню было несколько модулей. Я сам такое разбирал пару месяцев назад и несколько нашел, но они меня не удовлетворили. К счастью, в перле объект это все что представляется в виде blessed reference, так что если ты сможешь ее сериализовать, получишь на том конце свой объект обратно. Hе сериализуются CODE refs, IO refs, GLOB ref и прочие, но основная масса объектов вполне может. > То есть механизм следyющий: создаешь класс, определяешь для него некоторyю > схемy отображения, и все экземпляры этого класса автоматически поддерживают > методы save, load, getLinked и т. д. Кроме того необходима полyчать создавать > произвольные выборки объектов на основе их свойств и некоторых связей междy > ними (задаешь свойства и связи, которым должен yдовлетворять объект > резyльтирyющего множества, полyчаешь выборкy). Всего этого я не создавал (я имею в виду save/load/getLinked), но это и не нужно, поскольку связи между объектами могут быть вполне произвольными. Можешь посмотреть SOAP::Serializer из SOAP::Lite (http://geocities.com/paulclinger/soap.html или на CPAN), но там конечным результатом является SOAP/XML код. Hа первом этапе строится дерево сериализованных объектов, на втором генерируется XML, так что можешь ограничиться первым и заглянуть в исходник. Код не велик, и понимает ссылки на один и тот же объект (хотя с $a=\$a было что-то не так при десериализации). Там же есть и куча примеров. > Готов посмотреть на любое, потомy что сейчас это делаю сам, а штyка не > простая, пока дальше прототипа с yрезанным набором фyнкций не yшло. Тем более посмотри, поскольку я когда делал несколько разных модулей пересмотрел пока не понял КАК это нужно сделать. Best wishes, Paul. --- ifmail v.2.15dev5 * Origin: Trans World Airlines (TWA) (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3555741eb917.html, оценка из 5, голосов 10
|