/[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.3 - (show 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 <?
2 // ---------------------------------------------------------------------------
3 // $Id: Object.php,v 1.2 2003/02/03 05:01:48 joko Exp $
4 // ---------------------------------------------------------------------------
5 // $Log: Object.php,v $
6 // Revision 1.2 2003/02/03 05:01:48 joko
7 // + now attributes can get passed in to the constructors
8 //
9 // Revision 1.1 2003/02/03 03:33:48 joko
10 // + initial commit
11 //
12 // ---------------------------------------------------------------------------
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 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 $classname = $namespacedClassname;
41 if (loadModule($namespacedClassname)) {
42 $classname = str_replace('::', '_', $namespacedClassname);
43 }
44 $obj = new DesignPattern_Bridge($classname, $attributes);
45 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