
04/04/2009, 21:20
|
| | Fecha de Ingreso: octubre-2008
Mensajes: 76
Antigüedad: 16 años, 4 meses Puntos: 3 | |
Fatal error: Cannot re-assign $this in /home/jokerage/public_html/lib/Factory.class.php on line 37
este es la clase perdon
<?php
class Factory {
var $sufijo = '.class.php';
var $arr_lib_dir = array('C:/Domains/estudioi.es/wwwroot/admin/lib/', '/home/jokerage/public_html/lib/', '/home/identidad/www/clientes/ccmx/cms/lib/', 'c:/www/identidad/lib/', 'c:/www/identidad/estudioi/lib/', '/www/jokerapuestas.com.ar/htdocs/lib/');
function Factory ( $class, $path = null ) {
if ( empty($path) ) {
foreach ( $this->arr_lib_dir as $value ) {
if ( $this->_IsValid($class, $value) ) {
$path = $value;
break;
}
}
if ( empty($path) ) {
die('No se puede encontrar el archivo de la clase en los path especificados');
}
}
if ( $this->_IsValid($class, $path) ) {
if ( !class_exists($class) ) require_once $path.$class.$this->sufijo;
if ( class_exists($class) ) {
$args = '';
$num_args = func_num_args();
if ( $num_args > 2 ) {
$lista_args = func_get_args();
for ($i = 2; $i < $num_args; $i++) {
if ( is_array($lista_args[$i]) ) {
$args .= 'array('.$this->_arr2str($lista_args[$i]).'),';
}
else {
$args .= '"'.$lista_args[$i].'",';
}
}
$args = rtrim($args, ',');
}
$this = eval("return new $class($args);");
}
else {
die('No se puede incluir la clase');
}
}
else {
die('No se puede encontrar el archivo de la clase');
}
}
function _IsValid($class, $path) {
if ( is_file($path.$class.$this->sufijo) ) {
return true;
}
}
function _arr2str($array){
$line = "";
foreach($array as $key => $value){
if(is_array($value)){
$value = "array (". $this->_arr2str($value) . ")";
}
else {
$value = "'".$value."'";
}
if (is_numeric($key)) {
$line .= "," . $key;
}
else {
$line .= ",'" . $key. "'";
}
$line .= "=> ". $value;
}
$line = substr($line, 1);
return $line;
}
}
?>
el anterior era unas pruebas
Última edición por GatorV; 04/04/2009 a las 23:57 |