Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2010
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Me gustaría añadir algo más. Concretamente, los problemas que he mencionado para trabajar con HTML "por partes" los he podido "ver" en Gesbit. La clase "HtmlForm" no está basada en, pero, hasta cierto punto me la inspiró cierta clase similar que existe en el proyecto Habari. En efecto, este proyecto utiliza una clase "UIForm" (creo recordar) con la que se construyen los formularios del panel de administración de la aplicación.

Pues bien, el objeto "form" va pasando de plugin en plugin, de manera que cada uno puede trabajar con el mismo. Es cierto que los formularios del panel de administración de Habari se ven un poco,... como tú has dicho..."rígidos". Sin embargo, como he dicho arriba, no todo pueden ser ventajas, pero en Habari han pensado que estas son mayores que los inconvenientes. Desde luego yo en Gesbit sí he podido ver el problema de trabajar con HTML "por partes", pero, no sé si he conseguido dejar claro este "concepto".

P.D. En pocas palabras, de hecho los formularios de Habari se construyen con ayuda del objeto "form", los plugins, la propia base de datos... es una gozada, porque, todo es algo abstracto, pero,... funciona.
Responder Con Cita
  #2  
Antiguo 19-01-2010
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Acabo de hacer una actualización sencilla a la par que potente y me gustaría comentarla aquí. Para acceder al valor de un elemento de un formulario luego de que este sea enviado, ya no basta con escribir algo como: "$form->login". Ahora, para acceder al valor del elemento "login" ha de escribirse esto: "$form->login->Value()".

Por el momento sólo existen los métodos "IsEmpty()" y "Value()", pero, es claro que podrán añadirse más en el futuro, por ejemplo, "IsInteger()", "IsString()", etc., etc, de ahí que antes hablase de que se trata de una solución sencilla y potente al mismo tiempo. Bueno, sobre todo que cambia la forma de hacer las cosas tal como las expliqué ayer, por eso he querido comentar esta actualización.
Responder Con Cita
  #3  
Antiguo 19-01-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
hasta ahora no lo he leido mucho... mañana le echo ojo... pero dime algo... ¿la clase permitiria implementar javascript para el formulario en si y/o para los elementos del formulario?... si se puede implementar javascript, ¿da soporte a frameworks?... si se implementara el javascript (independiente del framework) ¿permite AJAX?... los pocesamientos se deben hacer al recargar la pagina (desventaja php) o ¿se pueden hacer asincronos?...

perdona que solo me halla enfocado en esto pero como sabes ahora para los formularios el javascript es full necesario a la hora de validar y evitar perdidas de tiempo en recargas completas de la pagina.

de todos modos... mañana miro a ver...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 19-01-2010
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tanto HTML como CSS y Javascript pueden y aun deben ir separados. Por supuesto que podría hacerse uso de Javascript, bien a partir de los tipos, clases e identificadores de los elementos del formulario, bien escribiendo Javascript en los atributos "on*" correspondientes, aunque es preferible de la primera forma.

En definitiva la clase "HtmlForm" únicamente muestra HTML, de modo que el CSS y Javascript necesarios no corren por su cuenta, pero, tampoco los impide en modo alguno. Gracias por tus comentarios movorack.
Responder Con Cita
  #5  
Antiguo 19-01-2010
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Otra actualización curiosa aunque "Interna" únicamente. En efecto, me he puesto a escribir métodos "IsNull()", "IsArray()", etc., como loco, sin tener en cuenta que podía arreglarse (mejor) con un sólo método un "switch" la mar de chulo. Total, estos y otros pequeños cambios "internos" en esta última actualización, por si le interesa a alguien.
Responder Con Cita
  #6  
Antiguo 20-01-2010
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Otra actualización tal vez curiosa. Al cabo he conseguido que los métodos "mágicos" puedan trabajar con los mismos argumentos que la función "filter_var()" de PHP. Esto quiere decir que el método "mágico" "Value()" puede retornar un valor "sanitizado", y los diferentes métodos "mágicos" "IsInteger()", "IsFloat()", etc., pueden trabajar con opciones, de manera que sea posible establecer las mismas opciones (rangos, valores mínimos y máximos, valores "por defecto") tal como puede hacerse con la función "filter_var()". Ea. Espero no ser demasiado pesado. ¬¬
Responder Con Cita
  #7  
Antiguo 20-01-2010
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Otra pequeña actualización que me gustaría comentar, en este caso, porque ha "tocado" la forma en que han de definirse los elementos de un formulario. Simplemente, se trata de identificar a cada elemento por su nombre (que ha de ser único, como es lógico, puesto que los elementos de un formulario no pueden "solaparse"), de manera que ahora cada "Array" de la definición del formulario que define un elemento, debe contar con una "clave", precisamente, el nombre de dicho elemento.

Esto ya ha servido para eliminar cierta complejidad en los métodos "internos" "__set()" y "__unset()" que son ahora más eficientes y elegantes, aunque esté feo que yo lo diga, quien los viera y los vea ahora creo que pensará igual. Pero, también es posible que se utitlice esta nueva característica en la definición de los elementos de los formularios en el futuro, por ejemplo, para poder ordenar o resituar los elementos en base a su nombre.

Al cabo creo que estoy logrando una clase más o menos curiosa. Entre otras cosas, algo que sólo pensaba pero he terminado haciendo es que la clase HtmlForm trabaje junto con la extensión "filter" de PHP. De este modo, pueden obtenerse valores "filtrados" y/o "validados", de hecho los métodos "IsInteger", "IsBoolean", "Value()", etc., todos aceptan los argumentos y opciones que acepta la función "filter_var()", ahorrándote el trabajo de tener que indicar el tipo de un determinado filtro, por ejemplo.

Sin ir más lejos el método "Values()" permite ser utilizado como la función "filter_var_array()", de manera que se pueden filtrar y validar varios e incluso todos los elementos de un formulario de una sola tacada, y todo esto de la misma manera en que se haría utilizando las funciones mencionadas ("filter_var()", "filter_array()") por nuestra cuenta. En definitiva, que creo que la clase HtmlForm va quedando mejor incluso de lo que pensaba al principio que podía quedar.

Me gustaría publicar incluso una "HtmlForm 2", pero no porque tenga que cambiar nada, sino de manera que la comentase (documentase) y la presentase aquí de otra forma, más sencilla, puesto que me parece que al principio solté un rollo tan grande que me temo que algunos de vosotros hayáis pasado de largo sin más y no sin razón. En fin, ya se verá. Disculpad otra vez si no consigo explicarme o me alargo demasiado. ¬¬
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
clase que contiene otra clase definida de forma posterior astwin OOP 5 20-02-2009 11:26:55
Crear eventos para una clase DarkByte OOP 10 07-12-2005 20:02:28
Clase para hacer ABM mateamargo OOP 3 25-10-2005 22:34:23
Ayuda para crear una clase estebanx OOP 0 10-03-2005 16:36:49
Conversión de tipo para clase inválida scooterjgm Conexión con bases de datos 6 20-01-2005 15:33:55


La franja horaria es GMT +2. Ahora son las 10:26:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi