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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Sat Feb 22 16:34:16 2003 UTC (21 years, 7 months ago) by joko
Branch: MAIN
Changes since 1.3: +5 -1 lines
+ minor fix: can seperate namespace identifier with slashes ('/') now

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

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