Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2011, 08:11
dksoft
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 13 años, 6 meses
Puntos: 10
Problema con Classe en PHP

Hola.. bueno pues les copmento tengo un problema con una classe .. bueno problema no tengo..

lo que tengo es una duda con esta classe que eh realizado.. miren.. la classe es un sistema de templates que hace lo siguiente..

Creo un archivo HTML .. con lago asi.

Hola {$usuario}!!!
Son las: {$reloj}

Entonces esas variables son relazadas por las siguientes.
Hola Drek!!!
Son las: 22:10

.. =D.. entonces no es neccesario menter PHP.. la siguiente duda es que cuando $reloj es un araray.. simplemente me debuelve

Son las: Array

Entonces le puse un sistema para que pudiera leer arrays pero lo tuve que hacer manualmente ..

y solo lee hasta 2 arrays.

{$array{key1}{key2}}

Pero el problema es que hay ocaciones en las cuales neccesito más de 2 arrays y llego a utilizar hasta 6.. entonces queria ver si me podrian ayudar a terminar mi classe .. para que leea todos los arrays que tenga una variable y me cree una setencia.. y no tengo muy bien la idea...

tenia una idea con while(is_array($value)) pero nunk me salio.. les dejo el script

Código PHP:
<?php

class skin {

private 
$data;

public function 
__construct($archivo) {
if(
$archivo != NULL) {
if(
is_string($archivo)) {
if((
file_exists($archivo)) && (is_readable($archivo))) {
$skin file_get_contents($archivo) or die("Error desconosido al cargar el archivo: ".$archivo);
$this->data $skin;
} else { die(
"Archivo inexistente o no leible: ".$archivo); }
} else { die(
"Nombre del archivo invalido: ".$archivo); }
} else { die(
"Archivo no encontrado: ".$archivo); }
}

public function 
sub($array) {
if(
$array != NULL) {
if(
is_array($array)) {
foreach(
$array as $key => $value) { $sub["{\$".$key."}"] = $value; if(is_array($value)) { foreach($value as $k => $v) { $sub["{\$".$key."{".$k."}}"] = $v; if(is_array($v)) { foreach($v as $n_k => $n_v) { $sub["{\$".$key."{".$k."}{".$n_k."}}"] = $n_v; } } } } }
$this->data strtr($this->data,$sub);
} else { die(
"Valor no es array"); }
} else { die(
"Valor nulo en la string"); }
}

public function 
skin() { 
$this->data utf8_decode($this->data); echo $this->data; }
}

?>