/[cvs]/nfo/php/libs/org.netfrag.glib/Class/Inner.php
ViewVC logotype

Diff of /nfo/php/libs/org.netfrag.glib/Class/Inner.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by joko, Tue Mar 11 02:28:11 2003 UTC revision 1.8 by joko, Fri Mar 28 03:03:49 2003 UTC
# Line 15  Line 15 
15   *  $Id$   *  $Id$
16   *   *
17   *  $Log$   *  $Log$
18     *  Revision 1.8  2003/03/28 03:03:49  joko
19     *  purged old code
20     *
21   *  Revision 1.7  2003/03/11 02:28:11  joko   *  Revision 1.7  2003/03/11 02:28:11  joko
22   *  + fixed metadata for phpDocumentor   *  + fixed metadata for phpDocumentor
23   *   *
# Line 104  class Class_Inner extends DesignPattern_ Line 107  class Class_Inner extends DesignPattern_
107    
108  //print Dumper($args);  //print Dumper($args);
109    
110      foreach ($args[class_names] as $classname) {      foreach ($args[class_names] as $classname_inner) {
111                
112        // build objectname from classname        // build objectname from classname
113        //  - make lowercase        //  - make lowercase
114        // - strip leading "Xyz_" ('Site_' here)        // - strip leading "Xyz_" ('Site_' here)
115        $objectname = $classname;        $objectname = $classname_inner;
116        $objectname = str_replace('Site_', '', $objectname);      // FIXME!!!        $objectname = str_replace('Site_', '', $objectname);      // FIXME!!!
117        $objectname = strtolower($objectname);        $objectname = strtolower($objectname);
118    
119        // create new instance of helper object by classname        // create new instance of helper object by classname
120        // V1:        // V1:
121        //$this->$objectname = &$this->_mkInstance($classname);        //$this->$objectname = &$this->_mkInstance($classname_inner);
122    
123        // V2:        // V2:
124        $this->$objectname = &php::mkInstance($classname);  
125          /**
126           * <!-- Autodia -->
127           * can do: (this is metadata supplied for Autodia, don't delete!)
128           *  $this->_locator = new $classname_inner()
129           *
130           */
131    
132          $this->$objectname = &php::mkInstance($classname_inner);
133                
134        // create additional references to helper object with other names if requested        // create additional references to helper object with other names if requested
135        // the intention is (e.g.) to migrate objects over to new reference-names when development progresses and ...        // the intention is (e.g.) to migrate objects over to new reference-names when development progresses and ...
# Line 142  class Class_Inner extends DesignPattern_ Line 154  class Class_Inner extends DesignPattern_
154        
155    }    }
156    
     
   
 // --- old code  
   
   function DesignPattern_Bridge_old() {  
   
     $arg_list = func_get_args();  
     $classname = array_shift($arg_list);  
       
     // expand single argument  
     if (count($arg_list) == 1) {  
       $arg_list = $arg_list[0];  
     }  
     $attributes = &$arg_list;  
   
     //print Dumper($attributes);  
   
     //print "init_bridge!<br>";  
     //return $this->_mkInstance($classname, $attributes);  
     //$this->_init_logger("../core/var/log/logfile.txt", 1);  
     //parent::constructor();  
   
     // V1:  
     $this = $this->_mkInstance($classname, $attributes);  
     // V2: (don't do that - will crash your apache!!! - hehe - it's an infinite loop)  
     //$this = php::mkInstance($classname, $attributes);  
   
     //parent::constructor();  
 //    $this->_init_logger("../core/var/log/logfile.txt", 1);  
     //print Dumper($this);  
   
     //return $this;  
   }  
   
   function &_mkInstance_old($classname, $attributes = null) {  
     parent::constructor();  
     $this->log( get_class($this) . "->_mkInstance( classname $classname )" );  
     if (isset($attributes)) {  
 //print Dumper($attributes);  
   
 /*  
       // pass single argument 1:1  
       if (count($attributes) == 1) {  
         $attributes_merged = $attributes[0];  
   
         
         
       // pass hash 1:1  
       } elseif (is_hash($attributes)) {  
         $attributes_merged = $attributes;  
   
       } else {  
         $attributes_merged = $attributes;  
       }  
 */  
   
     $args_pass = array();  
     for ($i=0; $i<=count($attributes); $i++) {  
       array_push($args_pass, '$attributes[' . $i . ']');  
     }  
   
     $arg_string = join(', ', $args_pass);  
   
 /*  
       // merge entries of numerical indexed arrays together into one hash  
       } else {  
         $attributes_merged = array();  
         foreach ($attributes as $entry) {  
           $attributes_merged = array_merge($attributes_merged, $entry);  
         }  
       }  
 */  
   
 //print Dumper($attributes_merged);  
 //print Dumper($attributes);  
       //$instance = new $classname($attributes_merged);  
       //$instance = new $classname($attributes[0]);  
       $evalstr = 'return new $classname(' . $arg_string . ');';  
       $instance = eval($evalstr);  
       //print $evalstr . "<br>";  
     } else {  
       $instance = new $classname;  
     }  
     //$this->log("ok");  
     return $instance;  
   }  
157    
158  }  }
159    
   
   
   
160  ?>  ?>

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed