--- nfo/php/libs/org.netfrag.glib/DesignPattern/RemoteProxy.php 2003/03/05 17:28:43 1.6 +++ nfo/php/libs/org.netfrag.glib/DesignPattern/RemoteProxy.php 2003/03/09 15:51:44 1.7 @@ -12,9 +12,12 @@ * *
* ------------------------------------------------------------------------- - * $Id: RemoteProxy.php,v 1.6 2003/03/05 17:28:43 joko Exp $ + * $Id: RemoteProxy.php,v 1.7 2003/03/09 15:51:44 joko Exp $ * ------------------------------------------------------------------------- * $Log: RemoteProxy.php,v $ + * Revision 1.7 2003/03/09 15:51:44 joko + * + additional metadata for Autodia + * * Revision 1.6 2003/03/05 17:28:43 joko * updated docu (phpDocumentor testing....) * @@ -133,10 +136,10 @@ /** - * Data::Driver::Proxy -- Multiple stage data fetching and caching + * DesignPattern::RemoteProxy -- Multiple stage data fetching and caching * * - * This class (Data::Driver::Proxy) provides an abstract framework + * This class (DesignPattern::RemoteProxy) provides an abstract framework * for loading/saving arbitrary data from/to data storages interfaced * by storage *proxy*-drivers. * Don't mix these up with the concrete storage *handle*-drivers @@ -145,6 +148,12 @@ * providing a more highlevel, consistent API making * it easier for Data::Driver::Proxy to do its main work: * + * quote from: http://home.earthlink.net/~huston2/dp/proxy.html + * "A remote proxy provides a local representative for an + * object that resides in a different address space. This is + * what the "stub" code in RPC and CORBA provides." + * + * * Multiple stage data fetching and caching: * *@@ -197,7 +206,11 @@ * An attempt to implement some software design patterns * --- RemoteProxyPattern * + * @link http://www.agcs.com/supportv2/techpapers/patterns/papers/tutnotes/sld017.htm + * @link http://home.earthlink.net/~huston2/dp/proxy.html + * @link http://wiki.cs.uiuc.edu/PatternStories/RemoteObject * @link http://c2.com/cgi-bin/wiki?ProxyPattern + * @link http://c2.com/cgi-bin/wiki?LazyProxies * * @author Andreas Motl* @link http://www.netfrag.org/~joko/ @@ -211,16 +224,15 @@ * @name DesignPattern::RemoteProxy * * - * @todo - * - * x extend options to en-/disable caching via a) session and/or b) database - * o make feature available via runtime setter-method to these options - * o use PEAR::Cache for caching purposes!!! - * o refactor database access: use PEAR for this! no more 'connectdb' here!!! - * o make database connection more flexible to make possible - * to have different (probably named) proxy databases (besides a "main database") - * o rename this to Data::Proxy? or split into Data::Query, Data::Result and Data::Wrapper? - *+ * @todo extend options to en-/disable caching via a) session and/or b) database + * make feature available via runtime setter-method to these options + * @todo PEAR::Cache for caching purposes!!! + * @todo refactor database access: use PEAR for this! no more 'connectdb' here!!! + * @todo make database connection more flexible to make possible + * to have different (probably named) proxy databases (besides a "main database") + * @todo rename this to Data::Proxy? or split into Data::Query, Data::Result and Data::Wrapper? + * @todo refactor this to a "RemoteObject" class!!! (inheriting from DesignPattern::RemoteObject) + * @todo rename this to "DesignPattern::LazyRemoteProxy"??? * */ class DesignPattern_RemoteProxy extends DesignPattern_Proxy { @@ -275,6 +287,13 @@ session_register_safe("proxy"); } + /** + * + * can do: (this is metadata supplied for Autodia, don't delete!) + * $this->backend = new DataSource_Proxy_XMLRPC() + * + */ + if ($this->meta[remote]) { //$this->backend = mkObject('Data::Driver::RPC::Remote', $this->meta[rpcinfo]); $this->backend = php::mkComponent('DataSource::Proxy::XMLRPC', $this->meta[rpcinfo]);