note 47239 added to function.func-get-args
| From: | intuz�tgmxd�tde at osu1 dot php dot net | Date: | Mon, 08 Nov 2004 09:09:37 +0000 |
| Subject: | note 47239 added to function.func-get-args | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-80270@lists.php.net to get a copy of this message | ||
An updated LoadClass / LoadModule function.
This function can be called with all PHP Values e.g. Arrays or Objects.
<?php
class SimpleClassLoader {
var $Module;
SimpleClassLoader() {
$this->Module = NULL;
}
function &LoadModule($incpath="inc/",$prefix="",$instance) {
if(!isset($this->Module[$instance])) {
$numargs = func_num_args();
if( $numargs > 3 ) {
$arg_list = func_get_args();
for($i=3;$i<count($arg_list);$i++) {
$parameter .= "\$arg_list[$i]";
if($i != (count($arg_list)-1)) $parameter .= ",";
}
// echo "Parameter: $parameter";
// eval("echo $parameter;");
}
if( !class_exists( $instance ) ) {
if( $err = include_once($incpath.$prefix.'class.'.$instance.'.php') ) {
define("_CLASS_".strtoupper($instance),TRUE);
eval("\$this->Module[\$instance] = new \$instance($parameter);");
} else {
exit('Error! could not include:
'.$incpath.$prefix.'class.'.$instance.'.php'.$err);
}
} else {
eval("\$this->Module[\$instance] = new \$instance($parameter);");
}
}
return $this->Module[$instance];
}
}
$MyObj = new SimpleClassLoader();
$MyObj->LoadModule("classes/","","MySql","localhost","...");
?>
Hope my Source is correct..
Hope it helps somebody.. :)
----
Manual Page -- http://www.php.net/manual/en/function.func-get-args.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+47239
Delete -- http://master.php.net/manage/user-notes.php?action=delete+47239&report=yes
Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+47239&report=yes&reason=bad+code
Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+47239&report=yes&reason=spam
Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+47239&report=yes&reason=useless+example
Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+47239&report=yes&reason=contains+commercial+links
Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+47239&report=yes&reason=useless+note
Reject -- http://master.php.net/manage/user-notes.php?action=reject+47239&report=yes
Search -- http://master.php.net/manage/user-notes.php