]> git.decadent.org.uk Git - maypole.git/commitdiff
Added note about overriding CDBI methods in Mp::Manual::Inheritance.
authorDavid Baird <cpan.zerofive@googlemail.com>
Sun, 30 Oct 2005 16:22:25 +0000 (16:22 +0000)
committerDavid Baird <cpan.zerofive@googlemail.com>
Sun, 30 Oct 2005 16:22:25 +0000 (16:22 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@403 48953598-375a-da11-a14b-00016c27c3ee

lib/Maypole/Manual/Inheritance.pod

index 2dd0eaf0f6e2048d2e6b4569eeebf9115c5afd68..1c2fca93837bf4241cd341d1660fd0d2146a2dec 100644 (file)
@@ -238,6 +238,14 @@ C<BeerDB2::Beer>, then C<BeerDB2::Maypole::Model>, C<Maypole::Model::CDBI>,
 C<Maypole::Model::Base>, and C<Class::DBI>, before moving on to\r
 C<OfflineBeer::Beer> and finally C<OfflineBeer>.\r
 \r
+B<CAVEAT> - if your Offline model overrides L<Class::DBI> methods, these methods\r
+will B<not> be overridden when called from the Maypole application, because the\r
+Maypole model provides an alternative path to L<Class::DBI> which is searched\r
+first. The solution is to place such methods in a separate package, e.g.\r
+C<OfflineBeer::CDBI>. Place this B<first> in the C<@ISA> of both\r
+C<BeerDB2::Maypole::Model> and C<OfflineBeer>. Note that C<OfflineBeer::CDBI>\r
+does not itself need to inherit from L<Class::DBI>.\r
+\r
 Methods defined in the Maypole model base class (C<BeerDB2::Maypole::Model>),\r
 override methods in the individual Offline table classes, and in the Offline\r
 model base class (C<Offline>). \r
@@ -262,3 +270,16 @@ Whatever label you prefer to use, this approach provides for clear separation of
 concerns between the underlying model and the web/user interface, and that's\r
 what it's all about.\r
           \r
+=head1 AUTHOR\r
+\r
+David Baird, C<< <cpan@riverside-cms.co.uk> >>\r
+\r
+=head1 COPYRIGHT & LICENSE\r
+\r
+Copyright 2005 David Baird, All Rights Reserved.\r
+\r
+This text is free documentation; you can redistribute it and/or modify it\r
+under the same terms as the Perl documentation itself.\r
+\r
+=cut\r
+\r