FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#41
|
||||
|
||||
Cita:
Cita:
Cita:
Ahora, veamos lo de la mezcla de PHP y HTML. ¿Se pueden mezclar? Sí. ¿Se deben mezclar? Depende. Una cosa es que en un mismo script pongas todo el código de conexión al servidor, consulta de datos, implementación de la lógica y, para colmo, generación de HTML. Eso, en mi opinión, es incorrecto. Pero nadie te obliga a una mezcla así tan libertina. Incluso sin recurrir a cosas como SMARTY puedes tener plantillas muy limpias donde el único código PHP que ves es básicamente para "rellenar huecos" e iterar una lista de objetos. A eso me refiero. // Saludos |
#42
|
||||
|
||||
En Python es de sí o sí meter el html dentro de una cadena para "imprimirla" y mostrarla en pantalla.
Lo que pasa es que comparas el sistema de plantilla se Django con un archivo único de php. ¿Está esto balanceado? Pongamos las cosas por igual, con Python a Django Template Language y con PHP a Dwoo, el escenario es el siguiente: El usuario hace una petición a la página precio_actualizado.html con la intención de que se le muestre el precio alctual del producto X. Django: app_name/views.py Código:
def precio_actualizado(request, page): precio = 12345 return direct_to_template(request, template='precio_actualizado.html', {'nuevo_precio': precio ) template/precio_actualizado.html Código:
<html> <head> <title>Precio Actualizado</title> </head> <body> El precio actual es {{ nuevo_precio }} </body> </html> precio_actualizado.php Código PHP:
Código:
<html> <head> <title>Precio Actualizado</title> </head> <body> El precio actual es { $nuevo_precio } </body> </html> Saludos. |
#43
|
||||
|
||||
Cita:
Saludos |
#44
|
||||
|
||||
Pero, incluso puede ser así:
Código PHP:
Código PHP:
Repito, lo malo es la mezcla de código de presentación y código de la lógica. // Saludos |
#45
|
||||
|
||||
No, ya ho ha dicho D-MO. De hecho en Python es pero que en PHP, pues necesita incluir "echo's" para todo.
|
#46
|
||||
|
||||
La solución propuesta por roman es perfectamente aceptable. Yo he citado los motores de plantillas para poner a PHP en la misma posición que Django.
Saludos. |
#47
|
||||
|
||||
Estimados compañeros, mejor dejemos la discusión que no llegamos a nada. No se trata que porque en A no se pueda, entonces le perdonamos a B que tampoco se pueda. Además el tema tiende a preferencias, lo que hará que nunca estemos de acuerdo. Hay quienes prefieran tener la posibilidad de colocar código PHP en las plantillas. Es una gran posibilidad para crear plantillas más "potentes" y además tener mejor control. Aunque esto último es relativo. Pero hay otro que prefiramos las cosas más limpias desde nuestros puntos de vista.
Al G. pidió opiniones, y la mía es en síntesis que, al ser PHP un lenguaje especializado para la Web, ya debió o debería de proporcionar herramientas o métodos que de forma fácil permitan a los desarrolladores no mezclar código HTML y PHP si lo prefieren. Talvez integrar dentro del lenguaje a Dwoo, por dar un ejemplo, a cómo una vez lo hicieron con el Plugin de MySql. Y por último, cómo un niño necio que le encanta "jincar" , no me gusta la sintaxis de C++Script, digo PHP |
#48
|
||||
|
||||
¿Y para qué integrarlo si el desarrollador tiene la libertad de utilizar el motor de plantillas que desee?
Si no te gusta la sintaxis, pues bien, es tu decisión, eres libre de decidir que te gusta o que no, sin embargo, eso no significa que sea mejor o peor que otro. Saludos |
#49
|
||||
|
||||
Cita:
Hay una razón de peso por la cual desestime a PHP... Originalmente (ver historia), php fue una almalgama de funciones hechas ad-hoc, sin mucho diseño acerca del lenguaje. Definitivamente, estaba totalmente orientado a el codigo espaguetti (una herencia del perl), y fue solo de forma *muy* reciente que empezo a tener orientacion a objetos y por ende, mecanismos para organizar el codigo. El modelo de MVC fue algo que se agrego, pero solo después de que Ruby on rails probara (o popularizara) que es un mucho mejor método de desarrollo. Esto tiene una implicación. Una gigantesca cantidad de código PHP que anda por ahí es del tipo spaguetti (y si le dedique mas de media hora: Examine proyectos enteros - lo que significa, que lei cantidades considerables de codigo -: vtiger, oscommerce, y un erp que no me acuerdo cual, aparte de que los primero sitios en PHP). Puede que a algunos que escriben la totalidad del programa los afecto poco, pero igual tiene su impacto. Entre otras cosas, implica que en ves de reutilizar, hay que escribir desde cero. En cambio, antes de django con python no habia nada fuerte... y cuando se popularizo, paso algo particular: desde las bases hay un mejor diseño, es solo ver por ejemplo, lo elegante del ORM, o el ruteo de URLs... y ese estilo se rego a todo los demas: web.py, turbogears, sqlalchemy, etc... Y entre los programadores de python, no hay nada de eso de escribir espaguetii. En serio. He leido y usado proyectos de todo tipo (tanto por hobby, como por trabajo) y como les digo, siempre parece que el codigo lo hizo un mismo programador. Esa es una cualidad tremenda. Es parecido al codigo pascal, pero mucho mas permeable. No me crean. Miren el codigo de Panda3d, y luego el de django. Les aseguro que sin experiencia, captan una cantidad muy alta d elo que sucede por ahi. De hecho, cuando apenitas sabia django, aporte un cambio al proyecto: Soporte a sql server:http://code.djangoproject.com/ticket/5062 (lo que es una tarea de dificultad media) Asi que con toda certeza, puedo asegurar que nadie en python trabaja a la manera salvaje oeste de PHP. No es que no se pueda, es que hace parte del mismo estilo, diseño, filosofia del lenguaje. Todo lenguaje tiene eso. Y aunque es posible escribir codigo claro en casi cualquier lenguaje (APL excluido!!) unos lo promueven mas que otros. En perl, php, hay mas tendencia a que no sea asi. En python a que si lo sea.
__________________
El malabarista. |
#50
|
||||
|
||||
Cita:
Esto es el estilo estandar de trabajar con cadenas: Código:
print "Una cadena que muestra %(variable)s" % {'variable':123} http://docs.python.org/release/2.5.2/lib/node40.html Por eso, en python es la forma natural de casi todos los frameworks de sitios web, el usar plantillas. De hecho, hay muchas: http://www.webwareforpython.org/Papers/Templates/ (Hay un par que permite codigo espaguetti, pero en la comunidad de python no es popular. Eso es para la gente que viene de otros lenguajes)
__________________
El malabarista. |
#51
|
||||
|
||||
Cita:
Cita:
Cita:
Si eso fuera una razón válida para desestimar un lenguaje, tendríamos que desestimar a Delphi igualmente. Cita:
Cosa muy distinta de decir que PHP es para hacer paginitas sólo porqué a ti en lo personal no te gusta. // Saludos |
#52
|
||||
|
||||
Cita:
Además, lo que ha dicho mamcx acerca de la historia de PHP es algo que no se puede Ignorar. PHP nació sin diseño y ha venido desarrollándose sobre la marcha. PHP nació sin filosofía y sin visión propia. Es por eso que hay tantos cambios versión tras versión. Además de sus varios problemas de seguridad (corregidos en versiones anteriores). Desde mi punto de vista, creo que PHP hizo un buen trabajo en la transición de la Web 1.0 a la 2.0. Ofreció un lenguaje libre para que los desarrolladores ofrecieran contenido más rico en un momento donde no había muchas opciones. Hoy la situación es distinta, hay lenguajes más modernos y maduros sobre los cuáles puedes respaldarte. |
#53
|
||||
|
||||
Cita:
Cita:
En la época, habia perl, lisp... o c++. Tener un lenguaje para hacer la paginita personal... eso fue revolucionario. Ese fue su inicio, su proposito. Sigue siendolo! Es como el visual basic de la generacion web. Se presta para la broma ocacional, si. Pero cuando un lenguaje logra iniciar a muchos a la programacion es porque en primer lugar, es menos "serio" y menos "hardcore" que lo que estaba antes...
__________________
El malabarista. |
#54
|
||||
|
||||
Cita:
Cuando se habla de desarrollo con PHP es siempre para web. Es estéril cualquier comparación aplicaciones de escritorio. Cita:
// Saludos |
#55
|
||||
|
||||
Cita:
Cita:
Cita:
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#56
|
||||
|
||||
Cita:
Cita:
Última edición por Chris fecha: 04-04-2011 a las 23:37:06. |
#57
|
||||
|
||||
Cita:
Hasta ahora no he visto un sólo argumento contra PHP que no esté basado en el prejuicio, el desconocimiento o la simple aversión personal, supongo porque da caché, hablar mal de lo que es popular. Para criticar algo se tiene que conocer. Se juzga mucho al PHP actual por lo que fue en sus inicios. Recalcan lo del origen del nombre como si eso fuera una prueba de lo malo que es el lenguaje. Hablan de la mezcla del código HTML y PHP sin realmente haberse detenido a examinar si eso es inherentemente malo. // Saludos |
#58
|
||||
|
||||
Cita:
No se si hay aquí muchos que sufrieron la época de ASP, PHP (antes de los frameworks nuevos), ASP.NET con html inline, etc... Con la excepción de hacer una única pagina (o un conjunto muy bajo) donde hacer todo un proyecto seria pesado, no veo un argumento solido en hacer un proyecto de un sitio web donde se mezcle rutinariamente el html/js/css/lenguaje servidor... asi que roman, cual es el caso de uso que me he perdido en estos 10 años???
__________________
El malabarista. |
#59
|
||||
|
||||
Cita:
¿Cuándo es bueno? Cuando el código PHP que mezclas con HTML es únicamente código para rellenar huecos, iterar registros, etc. Código únicamente para controlar la presentación (¿Cuántas veces habré escrito esto en este hilo?). Ejemplos de su uso ya se han dado aquí. ¿Desde cuándo puede hacerse esto? Desde siempre. No se requieren frameworks nuevos. Es algo que se puede hacer desde PHP 3. Claro que ya depende de cada quien qué tan feo quiera programar. Además, nadie te obliga a mezclar html y php. Puedes usar smarty u otro sistema de plantillas. Cosa que a mi en lo personal no me gusta porque requiere un "parseo" extra. ¿Que PHP es susceptible de "caer" en manos de programadores que escriban caóticamente? Sí. Y Delphi también ¿Y? Se puede criticar una herramienta. Nadie debe asustarse ni ofenderse por ello. Y examinar otras opciones, como Python, puede ser muy enriquecedor. Lo que me parece inapropiado es criticar con base en malas técnicas de programación, creencias infundadas y desconocimiento del estátus actual de dicha herramienta. // Saludos |
#60
|
||||
|
||||
Cita:
Lo cual degenera en que los desarrollos salgan de forma caótica. Entonces es malo. Se que el punto que estas anotando es que un buen programador le dará un uso apropiado... en lo cual concuerdo. Pero cuanto de eso existe por ahi? Entonces, si una herramienta X permite un manejo mejor, mas sencillo, loquesea por defecto y hace que el caso menos ideal sea una rareza, por ende es mejor. Es como discutir entre transmision automatica y manual. En manos expertas, la manual es mejor. Pero es claro que la automatica es superior en terminos generales. Y no se si estoy escribiendo de forma muy combativa o que, pero lo que he tratado de decir es que a la hora de elegir la herramienta, el ecosistema pesa mucho. Y si una mayoria de ese ecosistema no esta sobre un fundamento mas solido, tocara tarde o temprano pelearse con el. Para algunos que son desarrolladores disciplinados ni le veran el lio... porque son disciplinados. Pero a la vez, si eres disciplinado y tienes por default un framework mejor diseñado, tambien te beneficia. Es como con la VCL. Si se compara con el API raso de windows (o peor, la MCF) es muy notable su superioridad... no tecnica, sino en estilo. Tonces, si alguien va a empezar con PHP, deberia seriamente ignorar los ejemplos mas comunes, y usar una separacion tipo MVC. Y tener la disciplina de no mezclar presentación con lógica (un esfuerzo que ha probado su inutilidad a larga escala en todos los años que existen las herramientas de programación que lo promueven o permiten... pues delphi ahi lo tienes) o mejor usar un sistema de plantillas... (hay casos muy concretos donde es bueno la mezcla de todo eso... y el caso #1 solo te afecta si tienes un sitio de altisima demanda....)
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sus opiniones sobre la CLX | Lord Delfos | Varios | 6 | 10-03-2010 16:21:15 |
Opiniones sobre la compra de Sun por Oracle | D-MO | Debates | 3 | 06-01-2010 00:13:30 |
Tutorial de Python 'Python para todos' | marcoszorrilla | Noticias | 11 | 15-02-2009 06:19:15 |
trabajo con perl | alachaise | Internet | 0 | 23-11-2004 17:23:56 |
Opiniones sobre el Firebird 1.5RC3 para aplicaciones web | victork_py | Firebird e Interbase | 2 | 04-07-2003 15:54:45 |
|