![]() |
aPHP - Una especie de "plantilla de aplicaciones" para PHP
Hola,
Hace tiempo que no hablaba de Loturak... ¿alguien se acuerda? Y el caso es que no voy a volver al tema sino es para decir que desde que dejé el proyecto tengo una espinita clavada en mi corazón, como dice la canción. Desde entonces (y acaso desde antes), aunque sin dedicarme completamente a ello, sino es en estas últimas semanas, estoy preparando una especie de "plantilla base" de la que partir para crear alguna aplicación similar a Loturak... o quien sabe, algo igual pero con distinto nombre. No es un "framework" lo que estoy llevando a cabo, porque esta palabra me queda un poco grande, no nos vamos a engañar, sin embargo, parece que algo estoy logrando, me parece que no voy del todo desencaminado para lograr mis objetivos. Y aquí es donde entráis vosotros, claro está, a quienes pido que echéis un vistazo (sin compromiso, tranquilamente, si os apetece y tenéis tiempo que perder...) al proyecto que me traigo entre manos, que he dado en llamar "aPHP", por "Aplicación PHP"... ¡qué original! :) El asunto puede estar verde en algunos aspectos, sin embargo, llevo bastante tiempo trabajando en ello... y bueno, creo que ha llegado el momento de recibir todas las críticas que sea posible, de modo que pueda mejorarse el proyecto en base a ellas. Así que, ¿qué os parece si le echáis un vistazo? Cualquier comentario, sugerencia, idea o consejo será bienvenido. Por otro lado publico el bicho como software libre, con una licencia libre, de modo que si podéis sacar provecho a lo que está hecho... pues estupendo. Una de las cosas que le faltan a "aPHP" es cierta documentación, sobre todo, relativa a la instalación (creación de la base de datos que es preciso utilizar), a algunas características del proyecto a tener en cuenta, en fin, de este aspecto tengo todavía que ocuparme. Aunque se incluye documentación generada de forma automática a partir del código fuente de "aPHP", lo cierto es que habría que dejar algunas cosas claras para el posible usuario de este proyecto: ciertos conceptos como "URL de entrada", "Argumentos de las URLs", "Variables de las URLs", "Extensiones de aPHP", etc., etc. Bueno. Yo tengo ya necesidad de que alguien eche un vistazo al código fuente y al proyecto en general, y así pienso que puedo dejar lo que digo que aún falta (entre otras cosas) para más adelante, independientemente pero también posiblemente influído por lo que vosotros podáis aportarme. Y no digo más, que ya está bien. Disculpad el rollo. :) Podéis descargar la versión 0.1 de "aPHP" desde el Directorio de archivos del ClubDelphi. Buscad el archivo: "[php]-aphp.zip". ¡Muchas gracias a todos de antemano! :) |
Hola dec,
me parece genial tu idea. Pero tengo un problema: como coñ.... se accede al Directorio de archivos del ClubDelphi. Ya que no hay ningún acceso desde la web y no encuentro la URL. Y como Emilio no da señales de vida, no podemos pedirle que ponga un acceso al directorio para que podamos acceder directamente. Saludos y a ver que tal el bicho éste que te ha salido :D |
Hola,
Ops... ha sido un fallo mío. Había escrito el mensaje en el bloc de notas y no había incluído la URL del Directorio de archivos del ClubDelphi. Respecto del acceso al directorio mediante algún enlace... puede que no sea mala idea, no. :) |
Hola,
¡Qué exitazo, oigan! Jo, jo, jo... :p :D :) :eek: :eek: :cool: :rolleyes: :p :o |
Hola David,
Yo ya bajé el código, vi un crédito totalmente injustificado e incluso lo "instalé". Pero es que la verdad no entiendo de qué va. Quizá si comentas un poco cuál sería la idea general, o incluir un ejemplo mínimo. // Saludos |
Yo ya lo baje también, pero han de perdonar mi ignorancia, como lo instalo, que necesito para instalarlo. Lo demás, pues ya roman lo ha expresado.
Salud OS. |
Hola,
¡Así que estáis ahí! Gracias, gracias. :) Bueno. Es el caso que tengo que preparar aún el archivo "leeme", que ha de incluir información acerca de qué es y para qué puede servir aPHP... tal vez a alguien además de a un servidor, si es que al cabo termino haciendo algo "sobre" aPHP. Y ahí está parte de la historia: aPHP no es "nada" de por sí... pretender servir como cimiento de alguna aplicación que realmente tenga alguna utilidad. En realidad quisiera opiniones respecto de dichos cimientos: no de ninguna aplicación, porque aPHP no es ninguna aplicación en concreto. Pero de todos modos lleváis razón. De hecho quisiera preparar una aplicación a modo de ejemplo, con alguna utilidad, y que se base en aPHP. Ahora mismo lo que podéis descargar son los propios cimientos, o sea, ninguna aplicación en concreto. ¿Qué se puede hacer ahora mismo, tal cual está el asunto? ¿Qué podéis ver vosotros? ¿Cómo podéis verlo? Bueno. aPHP no precisa de ninguna instalación. Únicamente hemos de situar los archivos que se encuentran en el directorio "/www/" en el "htdocs" de nuestro Servidor Web. Eso sí, es preciso que hagáis uso del archivo "/sql/aphp.sql", de modo que creéis en MySQL una base de datos que ahora mismo sólo contiene una tabla: base para los usuarios registrados en la supuesta aplicación que haga uso de aPHP. Esto sí es preciso: la base de datos ha de estar disponible. A continuación tenéis que editar el archivo "/config.php". Son las cuatro o cinco primeras constantes que ahí se definen (está indicado en el archivo) las que tenéis que editar para que aPHP pueda utilizarse, para que podáis probarlo, vaya. Si necesitáis en este punto de alguna ayuda podéis comentarlo por aquí. Ahora bien, una vez "instalado" aPHP... ¿qué se supone que podéis ver ahora mismo en funcionamiento? Ahora mismo hay disponibles cuatro extensiones o apartados en aPHP. Podéis comenzar por la URL de entrada principal, es decir: Código:
http://localhost/aphp/ Esa sería la URL principal, que se encarga de mostrar la portada de la aplicación. Podréis ver que es posible cambiar el lenguaje de la interfaz de la aplicación, así como el estilo de la misma: podréis ver, en definitiva, que "aPHP", aparentemente, funciona. :) Otras URLs que podéis probar ahora mismo, correspondientes con extensiones (apartados) existentes ya en aPHP: Código:
http://localhost/aphp/entrada En este apartado se puede ver cómo trabajar con formularios en aPHP, cómo puede accederse a las variables de entrada, etc. Otro apartado disponible se accede mediante la URL: Código:
http://localhost/aphp/salida Existen también los apartados (o extensiones, mirad en el directorio "/ext/") "estilo" y "lenguaje", empero, estos no tienen salida alguna, sino que son Script que se usan para cambiar el estilo y el lenguaje de la interfaz de la aplicación. Podréis comprobar que cualquier otra URL, es decir, por ejemplo: Código:
http://localhost/aphp/roman Esto último significa que cada usuario registrado en la aplicación contará con su propia URL, por decirlo de algún modo. ¿Os acordáis de que en Loturak podía accederse a los apartados de los usuarios de este modo, más menos? Código:
http://www.aplicacion.com/?usuario=roman Código:
http://www.aplicacion.com/roman Supongo que no pude aguantar más porque llevo un par de semanas (como mínimo) liado con este asunto... casi, casi, podría decirse que tenía necesidad de "sacarlo de mí", de dárselo a conocer a otros, y sobre todo a otros que pudieran decirme algo al respecto. :) Bueno. No me enrollo más. Si necesitáis cualquier información comentadlo por aquí y veremos qué puede hacerse. :) |
Hola,
En pocas palabras... en definitiva, lo que podéis hacer (que no sería poco) es echar un vistazo al código fuente de aPHP. Tal vez sorprenderos con algo extraño o que no os parezca adecuado. Quizás comprobar cómo funciona aPHP "por dentro", hacer alguna que otra prueba... qué sé yo. He de reconocer que ahora mismo no se puede pedir más. :) |
Un proyecto muy interesante
Hola David:
Aquí estamos otra vez para darnos una mano en lo que se pueda. He revisado (muy de pasada por cierto) el código del aphp y ya he preparado algunos comentarios. Respecto de la idea y de la consecución de ésta, te auguro el mejor de los éxitos. Respecto de lo solicitado por ti, estas mis observaciones, en un plano general. Observaciones de forma:
Observaciones de fondo:
Al realizar las observaciones precedentes, no he pretendido revisar la lógica de los métodos (ni el diseño de las clases), sino empezar por algunas líneas base que permitirían el crecimiento del software y, por supuesto, su uso. Entre las observaciones generales, quiero resaltar el tema de la construcción del código en sí. Si bien existe mucha preocupación por la documentacion, no encuentro preocupación por el mantenimiento del código; es decir, no se ven convenciones en la codificación que puedan ser utilizadas por otros programadores o por robots. En el tiempo, será más fácil reemplazar el código que entenderlo. Esta situación se agrava por la mezcla entre el código php y el código html (y el código css y el código javascript) y el despliegue "inmediato" y oportunista. Si es invocado un método, éste desplegará datos, aún cuando luego deban ser (recién) enviados los encabezados. Definir si los errores deben ser mostrados dependiendo de si es localhost resulta muy doméstico. Es mejor pensar en un modo de desarrollo y otro de producción, donde el modo es un estado del sistema y no una condición ni una situación. La configuración establece los parámetros de funcionamiento del sistema, pero como un ente aislado de la propia configuracion del php, del apache y del sistema operativo. Así, el tema de la codificación, de la región o del magic quotes pueden afectar al funcionamiento, porque "variaron de lo que pensábamos", lo que resulta inadmisible en términos de un lanzador de aplicaciones o plantilla de aplicaciones. Ahora, los demás temas (incluyendo el de la licencia Affero GPL o el del tema de las cookies) son totalmente tuyos y será una decisión que deberás cargar el resto del proyecto. Sin embargo, creo que deberías revisar más el asunto de la reutilización de código que, de mejor manera (y con mejor licencia GPL) ha encarado temas como el manejo de mail. Te recomiendo des un paseo por http://pear.php.net o por http://pecl.php.net/ y que también revises http://framework.zend.com/ Para las convenciones, puedes adoptar alguna (como la de PEAR) o tomar ideas de otras (p.e. http://java.sun.com/docs/codeconv/). Me siento inclinado a aplaudir el hecho que hayas previsto la posibilidad de tener una aplicación multiidioma; creo que estás en el momento de pensar en temas como el de la zona horaria y diferentes codificaciones (actualmente usas utf-8 para todo). Finalmente, rescatar el hecho que tu código está en nuestro idioma. Sin embargo, EN LA MAYORÏA de los temas específicos ya se han hecho esfuerzos mucho más productivos (PEAR, PECL) que, si bien han producido comandos, éstos son como comandos con esteroides sin ton ni son. Ahí es donde tu concurso y esfuerzo puede ser mucho más enriquecedor: en establecer las reglas del juego para una plantilla de aplicaciones y su mejor empleo. Saludos. |
Hola,
Agradezco tus comentarios semptrion. Los agradezco todos, aunque algunos no los llegue a entender bien. :) Quisiera decir que bueno,... tal vez esta "cosa" no vaya a ir a ningún sitio. Si yo consiguiera escribir alguna aplicación basándome en ella... yo creo que podría darme con un canto en los dientes, como suele decirse. :) Ahora bien, se trata de presentar lo que va hecho, de darlo a conocer, precisamente, para recibir todo tipo de críticas. Y eso es lo que has hecho y te lo agradezco otra vez. Pero, chico, ¡parece haber tantos posibles problemas que no sé muy bien por dónde empezar, ni si, llegado el caso, merece la pena afrontar tantos problemas como parecen existir! ¡¡No valiera más comenzar de cero!! :) Prometo revisar los puntos que refieres y si encuentro que tengo que añadir algo o decir algo al respecto lo comentaré por aquí. Para empezar voy a plantearme, más o menos seriamente, el uso de plantillas, de modo que evitemos el uso de PHP y HTML juntos (pero no revueltos, ¿o sí?). No sé. Si se me ocurre algo más... lo diré. Pero muchas gracias por tus comentarios semptrion. :D |
y si empezar de cero se trata...
Siempre he pensado que trabajar en equipo, en una filosofía de open source puede ser más productivo para los participantes y más útil para la comunidad.
No se. Ahora, viendo el esfuerzo y desprendimiento tuyo, quizá podríamos empezar a generar esa idea fantástica que tienes, pero ya desde cero, como un proyecto open source con entrada formal en sourceforge y todo. Podríamos ir discutiendo en este foro las ideas, sus pros y contras (y las razones de tales y cuales) y obteniendo conclusiones al respecto para, después de un tiempo, generar un documento de especificaciones y meterle manos a la obra. Esas discusiones podrían ser mucho más relevantes para la gente que lea el foro, ya que tendrían el porqué de las cosas de primera mano. Paralelamente, mucha gente podría ir avanzando con nosotros paralelamente en sus propias cosas. Y en caso de presentarse algún nuevo problema, quizá podríamos discutir e incluir su especificación en el desarrollo. No se. La condición, la prerrogativa es que exista un equipo con el que discutir y avanzar. Gente que las pasó por muchas y gente que quiera aprender. Así, todo lo planteado no se ve tan lejano. Y nunca podremos ser demasiado codiciosos. Saludos |
Hola,
Bueno... no voy a comentarlo por aquí cada vez que suceda, porque no quiero caer pesado, empero, he actualizado "aphp" en estos días... y bueno, sólo quería que supiérais que podéis descargar siempre la versión más actualizada desde el Directorio de archivos del ClubDelphi, donde me estoy encargando de dejar una copia de "aphp". :) ¡Hasta pronto pataliebres! :D :D :D |
Cita:
:rolleyes: Hasta Luego .- |
Hola,
Gracias Lucas. No sé porqué me da que las plantillas no son lo mío... que no acabo de verlo para la forma en que suelo hacer las cosas, ahora, prometo que en cuanto termine de escribir esto voy a echar un vistazo a Template Lite. Así que gracias de nuevo Lucas. :) |
La franja horaria es GMT +2. Ahora son las 13:07:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi