![]() |
| De Dibujos-Dado |
martes, junio 16, 2009
sábado, noviembre 22, 2008
PHP OBject Genetator Extended
Estoy trabajando en un nuevo proyecto en PHP http://www.digitalizarte.com/pogex/ esta basado en es el proyecto http://www.phpobjectgenerator.com/ el cual recomiendo como punto de partida para cualquier desarrollo en PHP que necesite tener acceso a bases de datos.
La modificaciones que realice y planeo hacer sobre el POG son sobre el modelo de los objetos, extendí la "metadata" ( la variable $pog_attribute_type ) que traen los objeto para poder modificar el comportamiento en tiempo de ejecución de los objetos. El desarrollo lo centre en las plantillas de php 5.1 + PDO MySQL, no creo que mantenga la compatibilidad con la versión de php 4 en el POGEx pues muchas de las nuevas funcionalidades no se pueden implementar por limitación de la versión ( o eso creo yo).
1. Limitar el acceso y la asignación a los atributos de la clases. Se pueden definir atributos de lectura, atributos de asignación solamente. Si se limita la el acceso o la asignación las variables pasan a ser privadas y se acceden mediante __get() y __set().
2. Encriptación a nivel de campo, no esta implementado aun, tengo que decidir que libreria y que algoritmo voy a utilizar, es solo para los campos de texto.
3. Definir si el campo se graba en la base de datos al momento de realizar el insert y al momento de grabar el objeto.
4. Definir un valor predeterminado a nivel PHP y a nivel Base de datos.
5. Lazy Load: Cargar los campos minimos y necesarios, y el resto cargar cuando se necesite, el atributo se declara con una variable privada y se accede mediante __get() y __set(). Se detecta automaticamente que se trata de un atributo LazyLoad, se verifica si ya fue cargado o se realiza la consulta a la base de datos.
6. Posibilidad de acceder y asignar valores a los attributos sin importar como fue escrito el nombre. MAYUSCULAS, minusculas o un MixDeAmbos.
echo $obj->NombreApellido;
echo $obj->NOMBREAPELLIDO;
echo $obj->nombreapellido;
$obj->NombreApellido = "Damian Eiff";
$obj->NOMBREAPELLIDO = "Damian Eiff";
$obj->nombreapellido = "Damian Eiff";
El atributo es NombreApellido internamente resuelve el tema de las mayúsculas o minúsculas, se aplican igualmente todas las reglas que se definieron previamente al objeto. Getter / Setter. LazyLoad. La idea es minimizar los errores estúpidos de sintaxis (Los cuales comento muy seguido).
A futuro.
7 Definir si un campo esta indexado.
8. Extender el método Get( $id ), para que cargue los campos que se le pida.
Get( $id, $acampos = array() )
9. Extender el método GetList(), para que soporte orden por mas de una columna, siempre me pregunte porque el order by era por una sola columna.
10. Nuevo Método GetListEx() Se puede indicar que campos se quieren cargar en la consulta.
El proyecto tiene el mismo tipo de licencia que POG
El código fuente lo voy a publicar a la brevedad.
La modificaciones que realice y planeo hacer sobre el POG son sobre el modelo de los objetos, extendí la "metadata" ( la variable $pog_attribute_type ) que traen los objeto para poder modificar el comportamiento en tiempo de ejecución de los objetos. El desarrollo lo centre en las plantillas de php 5.1 + PDO MySQL, no creo que mantenga la compatibilidad con la versión de php 4 en el POGEx pues muchas de las nuevas funcionalidades no se pueden implementar por limitación de la versión ( o eso creo yo).
1. Limitar el acceso y la asignación a los atributos de la clases. Se pueden definir atributos de lectura, atributos de asignación solamente. Si se limita la el acceso o la asignación las variables pasan a ser privadas y se acceden mediante __get() y __set().
2. Encriptación a nivel de campo, no esta implementado aun, tengo que decidir que libreria y que algoritmo voy a utilizar, es solo para los campos de texto.
3. Definir si el campo se graba en la base de datos al momento de realizar el insert y al momento de grabar el objeto.
4. Definir un valor predeterminado a nivel PHP y a nivel Base de datos.
5. Lazy Load: Cargar los campos minimos y necesarios, y el resto cargar cuando se necesite, el atributo se declara con una variable privada y se accede mediante __get() y __set(). Se detecta automaticamente que se trata de un atributo LazyLoad, se verifica si ya fue cargado o se realiza la consulta a la base de datos.
6. Posibilidad de acceder y asignar valores a los attributos sin importar como fue escrito el nombre. MAYUSCULAS, minusculas o un MixDeAmbos.
echo $obj->NombreApellido;
echo $obj->NOMBREAPELLIDO;
echo $obj->nombreapellido;
$obj->NombreApellido = "Damian Eiff";
$obj->NOMBREAPELLIDO = "Damian Eiff";
$obj->nombreapellido = "Damian Eiff";
El atributo es NombreApellido internamente resuelve el tema de las mayúsculas o minúsculas, se aplican igualmente todas las reglas que se definieron previamente al objeto. Getter / Setter. LazyLoad. La idea es minimizar los errores estúpidos de sintaxis (Los cuales comento muy seguido).
A futuro.
7 Definir si un campo esta indexado.
8. Extender el método Get( $id ), para que cargue los campos que se le pida.
Get( $id, $acampos = array() )
9. Extender el método GetList(), para que soporte orden por mas de una columna, siempre me pregunte porque el order by era por una sola columna.
10. Nuevo Método GetListEx() Se puede indicar que campos se quieren cargar en la consulta.
El proyecto tiene el mismo tipo de licencia que POG
@copyright Free for personal & commercial use. (Offered under the BSD license)
El código fuente lo voy a publicar a la brevedad.
Etiquetas:
Classes,
Desarrollo,
Frameworks,
PHP
miércoles, mayo 21, 2008
miércoles, enero 30, 2008
martes, octubre 16, 2007
Octubre
http://lix.in/4fd1e9 octubre__1917_.part01.rar
http://lix.in/7f9723 octubre__1917_.part02.rar
http://lix.in/8d02fc octubre__1917_.part03.rar
http://lix.in/65234a octubre__1917_.part04.rar
http://lix.in/6b5551 octubre__1917_.part05.rar
http://lix.in/99d622 octubre__1917_.part06.rar
http://lix.in/1d2e14 octubre__1917_.part07.rar
http://lix.in/b99c14 octubre__1917_.part08.rar
http://lix.in/ca98b3 octubre__1917_.part09.rar
http://lix.in/f2d9e5 octubre__1917_.part10.rar
http://lix.in/0af1ef octubre__1917_.part11.rar
http://lix.in/19f049 octubre__1917_.part12.rar
http://lix.in/bd80f2 octubre__1917_.part13.rar
http://lix.in/429b83 octubre__1917_.part14.rar
http://lix.in/345097 octubre__1917_.part15.rar
http://lix.in/7f9723 octubre__1917_.part02.rar
http://lix.in/8d02fc octubre__1917_.part03.rar
http://lix.in/65234a octubre__1917_.part04.rar
http://lix.in/6b5551 octubre__1917_.part05.rar
http://lix.in/99d622 octubre__1917_.part06.rar
http://lix.in/1d2e14 octubre__1917_.part07.rar
http://lix.in/b99c14 octubre__1917_.part08.rar
http://lix.in/ca98b3 octubre__1917_.part09.rar
http://lix.in/f2d9e5 octubre__1917_.part10.rar
http://lix.in/0af1ef octubre__1917_.part11.rar
http://lix.in/19f049 octubre__1917_.part12.rar
http://lix.in/bd80f2 octubre__1917_.part13.rar
http://lix.in/429b83 octubre__1917_.part14.rar
http://lix.in/345097 octubre__1917_.part15.rar
Etiquetas:
Cine,
Comunismo,
Documental,
Octubre,
Revolución,
Rusia
martes, septiembre 11, 2007
Mod Attack
Mod Attack es mi proyecto de música solista.

Hace tiempo subí 4 temas que seleccione de la música que produje durante el periodo 2002 - 2003.

Hace tiempo subí 4 temas que seleccione de la música que produje durante el periodo 2002 - 2003.
lunes, septiembre 10, 2007
Links de Blogs con mucha música para descargar
http://gustavoeo.blogspot.com/
http://stayfree.blogspot.com/
http://unapieldeastracan.blogspot.com/
http://gustavoeo.blogspot.com/
http://stayfree.blogspot.com/
http://unapieldeastracan.blogspot.com/
Suscribirse a:
Entradas (Atom)



