| 
<?php// have to put this into a php block or the <?xml will be put as a PHP syntax error on extended code escape
 echo '<?xml version="1.0" encoding="UTF-8"?>';
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <!-- Generic browser family -->
 <title>DomCore Demos, a WebAbility® Network Project</title>
 <meta http-equiv="PRAGMA" content="NO-CACHE" />
 <meta http-equiv="Expires" content="-1" />
 
 <meta name="Keywords" content="WAJAF, WebAbility" />
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="Charset" content="UTF-8" />
 <meta name="Language" content="en" />
 <link rel="stylesheet" href="/skins/css/domcore.css" type="text/css" />
 
 </head>
 <body>
 
 <div class="container">
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 <br />
 
 <h1>\patterns\Multiton example</h1>
 
 <?php
 
 // We assure any DomCore library we call will be automatically loaded
 include_once '../include/__autoload.lib';
 
 setlocale(LC_ALL, 'es_MX.UTF8', 'es_MX', '');
 date_default_timezone_set('America/Mexico_City');
 
 define ('WADEBUG', false);
 
 class myM extends \patterns\Multiton
 {
 function __construct($parameter)
 {
 parent::__construct($parameter);
 }
 
 function getData()
 {
 return $this->parameter;
 }
 }
 
 print "Let's get our first multiton instance:<br />";
 print "You can get it with a \$M = new myM(10); but this can make an error, you never know if the instance already exists or not. getInstance is the method to use.<br />";
 
 $M = \patterns\Multiton::getInstance(10, 'myM');
 // This is equivalent to
 $M = myM::getInstance(10);
 
 print "A result with our multiton ".$M->getData() . "<br />";
 
 print "Let's a second multiton instance:<br />";
 
 $M = \patterns\Multiton::getInstance(15, 'myM');
 
 print "A result with our new multiton ".$M->getData() . "<br />";
 
 print "Let's get back the first multiton instance:<br />";
 
 $M = \patterns\Multiton::getInstance(10, 'myM');
 
 print "A result with our first multiton ".$M->getData() . "<br />";
 
 print "Let's try to duplicate a multiton instance and get an error:<br />";
 
 $M2 = new myM(10);
 // this can make an error too:
 $M2 = clone $M;
 
 ?>
 
 <br />
 <br />
 <br />
 <br />
 
 <a href="../index.html" class="back">« Back to the index</a><br />
 
 </div>
 
 </body>
 </html>
 
 |