/[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.5 - (hide annotations)
Thu Feb 27 16:36:02 2003 UTC (21 years, 6 months ago) by joko
Branch: MAIN
Changes since 1.4: +6 -3 lines
re-allowed underscores ('_') in php classnames
does this break something?

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

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