From b9f7f07a932c2d867a908fcb03dea84b7caea76f Mon Sep 17 00:00:00 2001 From: zYne Date: Fri, 13 Jul 2007 16:39:52 +0000 Subject: [PATCH] --- manual/new/docs/en/plugins.txt | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/manual/new/docs/en/plugins.txt b/manual/new/docs/en/plugins.txt index 8d4b518a9..76d7199fa 100644 --- a/manual/new/docs/en/plugins.txt +++ b/manual/new/docs/en/plugins.txt @@ -41,6 +41,48 @@ echo 'Longest query: ' . $longestQuery . "\n"; ++ Cache ++ Locking Manager ++ Connection Profiler +++ AuditLog and versioning +Doctrine_AuditLog provides a full versioning solution. Lets say we have a NewsItem class that we want to be versioned. This means that everytime a NewsItem object is updated its version number is increased. + + ++++ Creating a versioned record + +class NewsItem extends Doctrine_Record +{ + public function setTableDefinition() + { + $this->hasColumn('title', 'string', 200); + $this->hasColumn('content', 'string'); + } + + public function setUp() + { + $this->loadTemplate(new Doctrine_AuditLog_Template()); + } +} + + ++++ Using versioning + +$newsItem = new NewsItem(); +$newsItem->title = 'No news is good news'; +$newsItem->content = 'All quiet on the western front'; + +$newsItem->save(); +$newsItem->version; // 1 + +$newsItem->title = 'A different title'; +$newsItem->save(); +$newsItem->version; // 2 + + + + +$newsItem->revert(1); + +$newsItem->title; // No news is good news + + ++ Hook ++ Soft-delete