Hola, me estoy metiendo en este mundillo, vengo de otros lenguajes de programacion, y me surge una duda para mí bastante básica.
Es la siguiente:
cuando en una base de datos definimos una tabla , generalmente ésta puede contener diferentes tipos de registros, y la información contenida en cada fila de la tabla depende del tipo de registro que sea. Ejemplo: tengo una tabla de documentos, y en ella guardo los distintos tipos de documentos que hay. Un campo de la tabla me identifica el tipo y los diferentes datos del mismo estan contenidos en un varchar, que luego interpretare de forma distinta según el tipo que sea.
Lo normal en otros lenguajes seria tener una definicion de esa area con distintos campos y basada en un puntero. Asignaria el puntero a la variable varchar recuperada de la tabla y listo. Y tendria tantas areas definidas como tipos de registro tuviera.
Se puede hacer esto en PHP?
espero que se haya entendido lo que pretendo hacer...
gracias de antemano...
Yo no he probado nada como lo que comentas porque parece más programación de sistemas que de gestión (típico al programar algo de gestión con un lenguaje como C o C++ que te permite ese tipo de cosas de sistemas). En principio por lo que creo saber en PHP no hay struct si quieres algo parecido tienes que hacer objetos sin métodos. Si por otra parte deseas hacer algo como lo que comentas quizás haciendo un cast del contenido obtenido de la BD en modo binario podría servirte, pero no sé si lo aceptaría y creo que deberías de tener cuidado con algún código de escape especial. Otra opción sería serializar los objetos pero no creo que te sirviese porque luego probablemente no podrías asignarlo con un cast. Quizás te serviría serializar los objetos y luego hacer un cast entre los distintos tipos de objetos pero tampoco sé si te lo aceptaría. Sería cosa de probar a ver que pasa. Esta última opción quizás te funcionase. En todo caso siempre podría implementar métodos para pasar de un tipo de objetos a otros y eso si que te funcionaría si lo haces correctamente. Utilizas un objeto base y le añades métodos para generar a partir de sus datos cualquiera de los otros objetos que desees.


