/[cvs]/nfo/php/libs/org.netfrag.glib/DesignPattern/Object.php
ViewVC logotype

Annotation of /nfo/php/libs/org.netfrag.glib/DesignPattern/Object.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations)
Sun Feb 9 17:16:06 2003 UTC (21 years, 7 months ago) by joko
Branch: MAIN
Changes since 1.2: +14 -3 lines
+ handling arguments perl style ;-)

1 joko 1.1 <?
2     // ---------------------------------------------------------------------------
3 joko 1.3 // $Id: Object.php,v 1.2 2003/02/03 05:01:48 joko Exp $
4 joko 1.1 // ---------------------------------------------------------------------------
5 joko 1.2 // $Log: Object.php,v $
6 joko 1.3 // Revision 1.2 2003/02/03 05:01:48 joko
7     // + now attributes can get passed in to the constructors
8     //
9 joko 1.2 // Revision 1.1 2003/02/03 03:33:48 joko
10     // + initial commit
11     //
12 joko 1.1 // ---------------------------------------------------------------------------
13    
14    
15     /*
16     class DesignPattern_Object {
17     function DesignPattern_Object() {
18    
19     }
20     }
21     */
22    
23     function _ns2file($nsName) {
24     if ($filename = str_replace('::', '/', $nsName)) {
25     $filename .= '.php';
26     return $filename;
27     }
28     }
29    
30 joko 1.3 function mkObject() {
31     $arg_list = func_get_args();
32     //print Dumper($arg_list);
33     $namespacedClassname = array_shift($arg_list);
34     if (strstr($namespacedClassname, '_')) {
35     print "mkObject: unallowed character in namespaced classname: '_' ($namespacedClassname)<br/>";
36     return;
37     }
38     //print "class: $classname<br>";
39     $attributes = $arg_list;
40 joko 1.1 $classname = $namespacedClassname;
41     if (loadModule($namespacedClassname)) {
42     $classname = str_replace('::', '_', $namespacedClassname);
43     }
44 joko 1.2 $obj = new DesignPattern_Bridge($classname, $attributes);
45 joko 1.1 return $obj;
46     }
47    
48     function loadModule($namespacedClassname) {
49     if ($filename = _ns2file($namespacedClassname)) {
50     require_once($filename);
51     return 1;
52     }
53     }
54    
55     ?>

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