elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:47  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Estructura de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructura de datos  (Leído 329 veces)
EFEX


Desconectado Desconectado

Mensajes: 327


"Dinero Facil"


Ver Perfil WWW
Estructura de datos
« en: 26 Junio 2011, 18:13 »

Vengo armando un sitio, tiene un toque social, esta armado en php y el còdigo se me, digamos, alargo bastante con 32 archivos .php. Mi idea es simplificar en lo que pueda al codigo fuente y como a pasado tiempo desde la ultima ves que lo edite, puede que me olvide de algunas funciones o clases, entonces me preguntaba si existe un programa, que digamos... tome los archivos php y arme un tipo de estructura de datos con las clases y funciones que excribì.


Saludos


En línea


GITHUB: github.com/empirefx
EFEX


Desconectado Desconectado

Mensajes: 327


"Dinero Facil"


Ver Perfil WWW
Re: Estructura de datos
« Respuesta #1 en: 27 Junio 2011, 14:25 »

De verdad no existe un programa que tome los archivos .php y me arme un estilo de diagrama, estructura de datos, lo que sea con las clases, funciones, llamadas, etc ?
Asi que improvisè  ;D, de momento armè este, es medio brusco pero funciona para mi codigo, algo me sirve.

Código
<?php
class EDD {
private $dir = array('archivo.php', 'archivo2.php');
private $contenido;
function __construct() {
$cant_archivos = count($this->dir);
for ($c = 0; $c < $cant_archivos; $c++) {
if (file_exists($this->dir[$c])) {
echo "Se encontro el archivo: ".$this->dir[$c]."<br>";
$this->leer($this->dir[$c]);
}else{
echo "No existe el archivo: ".$this->dir[$c]."<br>";
}
}
}
function leer($archivo) {
echo "Leyendo el archivo...<br>";
$filesize = filesize($archivo);
$this->contenido = htmlspecialchars(file_get_contents($archivo, $filesize), ENT_QUOTES);
$this->objetos();
}
function objetos() {
if ($this->contenido) {
$longitud = strlen($this->contenido);
echo "\$this->contenido obtenido, tamaño ".$longitud."<br>";
$sincomentarios = explode("&lt;?php", $this->contenido);
$max = count($sincomentarios);
for ($i=1; $i<$max; $i++) {
$sincomentarios[$i] = strstr($sincomentarios[$i], "?&gt;", true);
}
echo "Quitando comentarios &lt;?php ... ?&gt;<br>";
 
$clases = array();
$classes_encontradas = substr_count ( implode( $sincomentarios ), 'class ');
//echo $classes_encontradas;
for ($i = 1; $i <= $classes_encontradas; $i++) {
$clases = explode("class ",implode( $sincomentarios ));
$clasess[$i] = trim(strstr($clases[$i], "{", true));
 
echo "Encontrado Class <b>".$clasess[$i]."</b><br>";
 
$funciones_encontradas = substr_count ( $clases[$i], 'function ');
 
for ($a = 1; $a <= $funciones_encontradas; $a++) {
//echo $a;
$funciones = explode("function ",$clases[$i] );
$nombree = trim(strstr($funciones[$a], "{", true));
echo "|___Function <b>".$nombree."</b><br>";
}
}
//echo "<pre>";
//print_r($funciones);
//echo "</pre>";
}else{
echo "No se pudo obtener el \$contenido";
}
}
}
 
$showtime = new EDD();
 
?>
 





En línea


GITHUB: github.com/empirefx
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Estructura de datos de los archivos
Programación General
Mr.Chispa 0 274 Último mensaje 30 Septiembre 2006, 20:22
por Mr.Chispa
Estructura de datos en NASM y/o MASM
ASM
Rozor 2 1,853 Último mensaje 12 Julio 2011, 22:01
por Иōҳ
Extraer datos con estructura
PHP
Shell Root 2 521 Último mensaje 12 Agosto 2011, 13:52
por El As del Club Paris
Estructura de datos ordenada y muy grande
Programación General
Distorsion 3 314 Último mensaje 15 Febrero 2012, 14:16
por Distorsion
como hacer una estructura de datos nueva?????
Programación C/C++
guanaco112 1 108 Último mensaje 11 Mayo 2012, 06:44
por Leo Gutiérrez.
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines