Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

php OO vs php tradicional

Estas en el tema de php OO vs php tradicional en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Webstudio: En ningún momento quiero que mi opinión divida es más trato de unir conocimientos para así poder adquirilos yo y darlo a quien los ...

  #31 (permalink)  
Antiguo 22/02/2006, 09:39
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
hola

Webstudio:
En ningún momento quiero que mi opinión divida es más trato de unir conocimientos para así poder adquirilos yo y darlo a quien los necesito. Por ejemplo traté de publicar un tutorial hecho por mi de como usar Smarty, ya que la mayoría de la documentación existente está en Inglés, en el sitio de ZonaPHP pero como no se como trabajar con Wordpress entonces lo deje y no lo he publicado aún.
Cita:
Iniciado por Webstudio
Si tenés una opinión justificable, acá se le puede contradecir
Perfecto para eso se publican las cosas para que otros las critiquen y así poder mejorarlas. A mi por ejemplo me encanta que opinen sobre mi código pues a veces los mismos compañeros míos de estudios poseen soluciones mucho más ótimas que las mías o mejores para el problema en especifico.
Cita:
Iniciado por Webstudio
no tomes nunca la palabra de nadie como "final", porque todos tarde o temprano, dormimos mal, o nos levantamos del lado equivocado de la cama, o quizás en una cama que no conocemos, y tenemos un mal dia y opinamos cualquier cosa.
Jejeje eso es lo que llamamos en Cuba levantarse con el pie izquierdo y nos sucede muy a menudo. Jamás tomó la palabra de nadie como final por el simpole hecho de que todo está sujeto a cambios. Y como bien dices muchos nos tenemos que cerrar la boca porque a veces no tenemos la razón y es mejor cerrarsela que ponerse a discutir sobre cosas que no van al caso o que desvirtuan las cosas.

Cita:
Iniciado por Webstudio
Te paso el link directo para ver si te las puedes bajar a las NokTemplates:
http://jpw.com.ar/index.php?lugar=do...e-1.2-beta.zip
No he podido bajar la clase NOKTemplate para probarla y hacer algunas cosillas. Te voy a mandar un PM para que me la mandes a mi correo.

Cita:
Iniciado por Webstudio
Respecto a PRADO, lo estuve revisando no hace mucho, y me dejó un muy buen sabor de boca.
¿A ti te dejo buen sabor en la boca? Pues yo lo mantengo aún porque cada día que aprendo un poquito más me doy cuenta que está bastante poderoso en lo que a POO concierne. Como comenté en uno de los mensajes anteriores, me costará un poco aprender PRADO pues programar con Smarty, NOKTemplate, PEAR u cualquier otro no es lo mismo. El primero es totalmente OO y los otros pueden o no poseer código estructurado, por favor si me equivoco corrijanme. Eso si ya salió la versión 2.1RC1 muy por encima de las 2.0.x y la versión 3.0a que también está muy buena. Ya me daré muchas vueltas por este Foro pronto.

Cluster:
Cita:
Iniciado por Cluster
Más bien "NokTemplate" y sistemas similares lo que hacen de "bueno" es que se dedican al fondo del problema: són sólo "gestores de plantillas" .. nada de psudo-lenguajes y procesos extra añadidos que para algunos será mejor y para otros peor.
Por supuesto, totalmente de acuerdo contigo.

Cita:
Yo soy de la filosofía de cada cosa a lo suyo .. si uso PHP y me interesa tener mis "plantillas" aparte como para darselas a un diseñador para que las "adorne" .. prefiero programar en "PHP" y que la "plantilla" sea extremadamente básica: nada de lenguaje por medio.
Bueno, bueno creo que aquí no es tan así porque soy de los que piensa que muchos sitios dependen del diseño gráfico y no de la programación. Por muy bien programado, eficiente y rápido que este el sitio muchos no lo ven, a no ser por un diseño llamativo.
Cita:
Iniciado por Cluster
El caso es ver que fuera a temas de "usabiliad" del sitema que se use en sí .. hay que ver claro que implementar un "lenguaje" en otro "lenguaje" hay un proceso por médio inevitable extra.
Les dejo el enlace de la extensión de Smarty para Dreamweaver creada acá en Cuba por si alguien le quiere hechar una ojeada: http://forge.cujae.edu.cu/projects/stg/

Salu2
__________________
Ing. Reynier Pérez Mira
  #32 (permalink)  
Antiguo 23/02/2006, 09:25
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Me acaban de pasar un sito, que tiene el peor CMS escrito en la historia del mundo, y un archivo tiene justamente 1085 lineas, contiene 3 clases y miren esto por el amor de dios:

Código PHP:
function select_box($name,$range,$selected =0, $extra_attr ='', $no_change=false) {
ob_start();
if($extra_attr=='0') $extra_attr='';
if(!strpos($name,"[") && $name!='cat' && $name!='lang' && !$no_change) $name.="[]";
if(strPos($extra_attr, "onchange=\"")>-1 && $name!='cat' && !$no_change) {
$anchor =str_replace("[", ".", $name);
$anchor =str_replace("]", ".", $anchor);
$extra_attr =substr($extra_attr, 0, strPos($extra_attr, "onchange=\"")+10)."document.forms[0].action=document.forms[0].action + '&go=reload&bm=$anchor';".substr($extra_attr, strPos($extra_attr, "onchange=\"")+10);
}
?>
<a name="<?=$anchor;?>"></a>
<select name ="<?=$name?><?=$extra_attr?>>
<?
foreach($range AS $value=>$display) {?>
<option value="<?=$value?><? 
if(!is_array($selected)) {
if (
$value==$selected && $value) print "selected";
}else{
if (
in_array($value,$selected)) print "selected";
}
?>><?=$display?></option>
<? }?>
</select>
<?
return ob_get_clean();
}
Nunca en mi vida, pero nunca, vi algo igual!!
  #33 (permalink)  
Antiguo 23/02/2006, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
¿Se puede saber el nombre de ese CMS? (para no recomendarlo xD)

Un saludo,
  #34 (permalink)  
Antiguo 23/02/2006, 11:20
Avatar de EliasBG  
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 18 años, 10 meses
Puntos: 1
Mira esta tienda virtual hecho con PHP POO y MySQL

La programación orientada a objetos te da muchas ventajes entre ellas esta:
  • La reutilibilidad de tu código, osea no programas varias veces lo mismo.
  • aparte de eso tambien un mantenimiento mas rápido, ya que el entendimiento del código se hace más fácil.
  • la estructuración del programa permite que pueda creer en el futuro haciandolo modulable, puedes implementar opciones que no pensabas en un futuro con gran facilidad.

Bueno hay mas ventajas unas de las principales son estas a mi parecer.

la tienda 100porcientoperu.com/indexBETA.php es un ejemplo claro debes ponerle los www al comienzo :D

Saludos

EliasBG
  #35 (permalink)  
Antiguo 01/03/2006, 13:17
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años, 1 mes
Puntos: 0
Bueno, ya que se esta poniendo interesante este post, voy a tratar de hacer mi humilde aporte...

Primero que nada coincido con Webstudio en que Smarty no sirve, no porque yo haya hecho nokTemplate y diga que nokTemplate es mejor ni mucho menos. Solo que Smarty agrega cosas que no tienen casi sentido ya que con php se pueden hacer directamente. Obviamente, llegado al caso, si se trabaja ordenadamente ni siquiera hace falta una clase para manejar las plantillas, ya sea noktemplate o la que fuere.

Segundo, refiriendome a la clase de "2000" lineas...
Si hablamos de Teoria de Objetos, lo mas seguro es que se puede dividir en mas de una sola clase, no solo porque su tamaño en lineas, sino que tambien porque como indican, sirve para la generacion de formularios y su correspondiente validacion. Desde el vamos podriamos separar en clases, formulario y objeto_formulario, luego de objeto formulario podrian derivar los input, select, button, luego desde input, puede derivar hidden, text, password, etc... y asi podriamos seguir luego con una clase de validacion, que realice validaciones en general, y luego derivar una para validaciones en el cliente y luego otra en el servidor... En fin podriamos derivar muchas clases... y que interactuen entre si...

Pero muchas veces no es necesario especializar tanto... nadie se va a poner a crear una clase TipoDeDato y luego derivar Numero y texto, y Entero y Float y asi... o tal vez si, si le es necesario para el problema que esta tratando de resolver.

Vamos a un ejemplo mas palpable: nokTemplate
Hoy, nokTpl es una sola clase, pero bien se podria dividir en mas, por ejemplo, el "sistema" de cache bien podria ser una especializacion de la clase. Pero en el momento de su creacion no "vi" necesaria la separacion.

A lo que voy es que no siempre es "necesario" aplicar el 100% de la teoria de objetos, siempre se llega a un punto en el que se logra un equilibrio entre lo que esta bien diseñado y lo necesario para el problema.

En si, la programacion orientada a objetos es bastante "natural" y una vez que se comprenden los conceptos basicos, lo que sigue es mas sencillo.

Bueno, al final me puse a hablar de muchas cosas y me parece que no dije nada... :P

Saludos!
__________________
La casa de Noktemplate.
Zonaphp.com - Php en español.

¿Que esperas de NokTpl 2? Deja tu comentario.

Blog
Mas o menos asi .
  #36 (permalink)  
Antiguo 01/03/2006, 14:27
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Ajá, coincido con vos. La teoría de objetos no es para utilizarla burocráticamente, hay cosas que te van a ser muy convenientes respetarlas al pie de la letra hay otras que te van a resultar incómodas, esto es por la forma en que programa cada uno.

Por algo existen las Máximas de Programación (yo las llamo así), cada uno tiene sus metodologías, sus objetos y su forma de programar que le parezca más conveniente, cómoda, rápida o útil.

Por otro lado, en la famosa clase de las "2000 líneas" aclaro que no tiene interfasce con el usuario, es sólo para validar campos de los formularios y en el servidor, no en el cliente... Se limita sólo a eso.

Saludos.
  #37 (permalink)  
Antiguo 01/03/2006, 17:49
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Guns, publica 30 lineas de esa clase y te doy mi opinion, con 30 me alcanza para conocer las otras 1970. Te digo esto porque yo desarrolle una clase que toma todos los elementos de uno o mas formularios, los valida y los vuelve a contruir con sus respectivos valores, y me entro todo en 300 lineas.

Publiquemos codigo, lo hagamos mas interactivo a todo esto asi lo hacemos un poco mas divertido :)
  #38 (permalink)  
Antiguo 02/03/2006, 09:46
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Acá está:

Ahí está todo el código.
Se puede optimizar de muchas formas, pero creo que se complica un poco la optimización sin perder compatibilidad...
Fijate bien en los métodos de validación de campos múltiples, eso es lo que duplica demasiado código.

La p... madre, hasta vBulletin está en contra mía, no entra la clase, está en el link.

http://www.laguns.com.ar/Validation.txt

Saludos.
Espero sus comentarios.

PD: Los métodos que no se ven son heredados.
  #39 (permalink)  
Antiguo 03/03/2006, 04:50
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Acordate que es poco etico no mantener los creditos originales de una aplicacion. Te puedo dar mas de 5 razones por la cual cualquiera que ve ese codigo se puede dar cuenta que no lo escribiste vos, tambien esa clase lleva un sello muy particular. Ahora, habiendo dicho eso y agradeciendo que lo publicaste, lo voy a ver cuando tenga mas tiempo, parece interesante.
  #40 (permalink)  
Antiguo 03/03/2006, 06:24
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Osea, ¿Vos me querés decir que yo no programé esa clase o me parece a mí? (si no es así, disculpame, te entendí mal).

Cita:
Te puedo dar mas de 5 razones por la cual cualquiera que ve ese codigo se puede dar cuenta que no lo escribiste vos
¿Me conocés de toda la vida eh?

Decime todas las razones y por favor justificá tus palabras. No hagas como mucha gente que habla por hablar...

Hacé una cosa Tukzone, fijate si encontrás algo con el mismo código y mostramelo. Si no sabés no hables al dope, haceme ese favor.

Saludos.

PD: Ahora pongo mis créditos, no te preocupes.

Última edición por gnfrs; 03/03/2006 a las 06:35
  #41 (permalink)  
Antiguo 03/03/2006, 07:15
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Te voy a dar 2 razones ahora, si despues queres mas sigo.

A no ser que en tu hogar o trabajo hables spaninglish o estes viviendo en Miami, que lo dudo, esa clase no la escribiste vos.

A primera vista se nota que los comentarios fueron editados, originalmente contenian comentarios basados en C y C++, alguien misteriosamente agrego comentarios basados en Perl, es un error mezclar los dos, un novato si puede cometer el error, pero alguien que desarrolla una calse de este estilo no.

Los comentarios editados o agregados estan resaltados en su mayoria en mayusculas.

El que escribio esta clase tiene excelentes conocimientos de standards de programacion, el que la edito no tiene ni la menor idea (con solo decir que no sabe distinguir tipos de comentarios).

Puedo seguir, el que edito esta clase cometio muchos errores, que quizas pasen desapercibidos ante los ojos de muchas personas. Hay parametros en los comentarios que fueron traducidos, otros no. A no ser que tengas un desorden al escribir, o seas mitad ingles, mitad argentino, lo escribio otra persona.

Hacer lo que estas haciendo con esta clase destruye todo lo que apoyamos y defendemos, que es la cultura del open source. Hace lo que quieras en tu empresa con este codigo, a mi no me importa, pero no lo promociones ante la comunidad de programadores como que es tuyo, le estas quitando creditos a alguien que se los merece.

--

Edito para hacerte una pregunta: Vos sabes la diferencia entre:

/**#@+ y /**

Última edición por Tukzone; 03/03/2006 a las 07:23
  #42 (permalink)  
Antiguo 03/03/2006, 07:25
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Igual Guns, en serio te digo, no te hagas drama por esto. A mi no me jode en lo personal. Es tu laburo, tus cosas.

Ademas todos en el fondo somos medios piratas. Saludos.
  #43 (permalink)  
Antiguo 03/03/2006, 07:26
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Jejejeje

Jo, realmente como bien dice Tukzone, has de estar volado en lo que a POO se refiere pues esa clase está como que un poco larga. De todas formas no digo que no la hayas hecho tu o no, no soy quien para decirlo. Además creo que soy el menos indicado ya que los conocimientos de POO que tengo los se de C++ y no de PHP, en este último me estoy adentrando ahora.

Cita:
Iniciado por Tukzone
es un error mezclar los dos, un novato si puede cometer el error, pero no alguien que desarrolla una calse de este estilo.
Hola Tukzone:
Ya que comentas sobre los estándares de programación, donde puedo encontrar información al respecto? O sea como comentarear correctamente en el código PHP, que estándar seguir a la hora de poner las variables, no se por ejemplo "T" o "C" para las clases. Ej:
Código PHP:
 class TClase {
   function 
TClase(){
     ....
   }
 } 
Me interesa mucho ese tema porque a veces tengo que poner comentarios, no necesesariamente a las clases pero si a ficheros de configuración y cosas por el estilo.

Salu2
__________________
Ing. Reynier Pérez Mira
  #44 (permalink)  
Antiguo 03/03/2006, 07:36
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
pear: http://pear.sourceforge.net/en/standards.php

popular: http://www.dagbladet.no/development/...g_standard.doc

saludos
  #45 (permalink)  
Antiguo 03/03/2006, 07:50
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Te paso a esplicar el porqué del desorden:

1: Como dije la clase se empezó a desarrollar hace 2 años, desde ese tiempo hasta ahora cambié mis estándares de programación varias veces, por ejemplo la almoadilla para los comentarios ya no las uso. Pero no lo arreglé porque NO TENGO TIEMPO.

2: Trabajo con dos personas desde hace varios meses y tuvimos que adoptar, crear y establecer nuestros propios estándares, es más cuando empecé a hacer la clase todavía no sabía de la existencia de PHPDocumentator, si querés me busco todos los archivos de las versiones viejas para que veas cómo fue evolucionando así te cierro la boca.

3: Ni pienso, ni me voy a gastar en hacer ayuda y poner en un medio público esa librería, es de uso interno nada más, la uso para reutilizar código para terminar antes con los trabajos de mis clientes y así me gano la vida. No me gano la vida haciendome alguien que no soy.

4: No sé ustedes pero yo no comparto la idea de utilizar código de terceros (más que para aprendizage) en mis programas. Por ejemplo: A pesar del BUEN funcionamiento de JPGraph, no la uso, a pesar de que haya muchas clases de envío de correo yo uso la función mail de PHP, a pesar de que haya miles de captcha regados por muchos sitios yo hice uno, es feo pero es mío.

Y por último te hago una pregunta:
¿Se tarda más en aprender cómo desarrolla una persona que no conocés para robarle el código o se tarda más en desarrollar tu propio código?

Sería bueno que todos opinen.
Tukzone me está acusando de que mi código es robado.
¿Quién te creés que sos para decir eso? Podés opinar libremente pero no me ofendas porque no estás realmente seguro de lo que decís.

PD: Si querés te cuento cómo me inspiré para crear la clase.
  #46 (permalink)  
Antiguo 03/03/2006, 08:07
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Y dale ...

Creo que este tema se está saliendo de lo que realmente es y se está conviertiendo en algo personal. En ese caso recomendaría usar los MP que para ellos están (~creo~). Ahora bien vamos a lo que preguntas:

Cita:
Iniciado por gnfrs
Como dije la clase se empezó a desarrollar hace 2 años, desde ese tiempo hasta ahora cambié mis estándares de programación varias veces, por ejemplo la almoadilla para los comentarios ya no las uso. Pero no lo arreglé porque NO TENGO TIEMPO.
Uff, deberías haberlo hecho hace tiempo ya y no es por criticar pero deberías usar los estándares existentes ya que son conocidos por la mayoría y no por unos pocos como los que trabajan contigo solamente. Imagina a tus mismos clientes cuando les des todo el código final y por algún motivo algo falle en tu clase es entonces cuando vienen los dolores de cabeza tratando de dar con el problema y como tus comentarios no son los mismos entonces a lo mejor podrían tener problemas buscando el error.
Cita:
Iniciado por gnfrs
Trabajo con dos personas desde hace varios meses y tuvimos que adoptar, crear y establecer nuestros propios estándares, es más cuando empecé a hacer la clase todavía no sabía de la existencia de PHPDocumentator
Excelente para crear la documentación final del Proyecto no para comentarios ni estándares, o al menos eso es lo que tengo entendido que hace phpDocumentor.
Cita:
Iniciado por gnfrs
Ni pienso, ni me voy a gastar en hacer ayuda y poner en un medio público esa librería, es de uso interno nada más, la uso para reutilizar código para terminar antes con los trabajos de mis clientes y así me gano la vida. No me gano la vida haciendome alguien que no soy.
¿Entonces porque razón comentas que desarrollas una clase y además de ello pones el código? Si es para uso interno de tu empresa deberías habertelo callado desde el comienzo y no se hubiera formado todo esto dentro del Foro. Además recuerdas los 4 principios del SWL ? Deberías tenerlo en cuenta también.

Cita:
Iniciado por gnfrs
No sé ustedes pero yo no comparto la idea de utilizar código de terceros (más que para aprendizage) en mis programas. Por ejemplo: A pesar del BUEN funcionamiento de JPGraph, no la uso, a pesar de que haya muchas clases de envío de correo yo uso la función mail de PHP, a pesar de que haya miles de captcha regados por muchos sitios yo hice uno, es feo pero es mío.
Perfecto, entonces crea tu propio repositorio de clases y ya verás que te mueres haciendo las cosas. Eso es uno de lo mejor que posee el SWL, que puedes usar todo sin necesidad de pagar ni nada por licencias. Por ejemplo: las personas que desarrollan CMS usan muchas librerías ya desarrolladas y soportadas por otros: AdoDB, muchas clases de PEAR, PRADO, Symfony ... Recuerdo que cuando comencé en el mundo de PHP era igual a ti, quería hacerlo todo, pero si mi mente no me falla fue Cluster quien me dijo una vez: "Si ya la rueda está inventada, ¿para que quieres reinventarla?. Usala y adaptala a lo tuyo y si necesitas modificarla, manos a la obra". Y tenía mucha razón pues muchas librerías que uso hoy por hoy en mis aplicaciones me han dado resultado. Ej: Smarty & AdoDB y más recientemente el Framework qeu estoy comenzando a estudiar y aprender: PRADO

Cita:
Iniciado por gnfrs
¿Se tarda más en aprender cómo desarrolla una persona que no conocés para robarle el código o se tarda más en desarrollar tu propio código?
Obvio que tardas mas en desarrollar todo que en leer la documentación dirigida al uso de una librería existente. Eso está de más aquí.

Cita:
Iniciado por gnfrs
Tukzone me está acusando de que mi código es robado.
Quizás si, quizás no, tienes que ver el porque y lo que el dice. A lo mejor es cierto lo que el dice porque vió el código en otro lado o a lo mejor es cierto lo que dices tú de que el código lo hiciste tu completamente. Ahi si ni opino no vaya a ser que entonces la cojan conmigo.

Salu2
__________________
Ing. Reynier Pérez Mira
  #47 (permalink)  
Antiguo 03/03/2006, 08:08
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Gracias

Tukzone gracias por la documentación que me dejas. Creeme que la pondré en práctica en todos mis desarrollos.
Salu2
__________________
Ing. Reynier Pérez Mira
  #48 (permalink)  
Antiguo 03/03/2006, 08:37
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Para Tukzone que lo miran por TV:

Te cuento la historia de esa clase y ojo que quizá aprendas un poco.

Hace dos años estaba trabajando en una empresa donde necesitaban que haga un sistema de recursos humanos, esto era básicamente un sitio donde se pueda llenar un CV con un gran asistente. Acá me las ví difíci puesto que prácticamente no tenía clases desarrolladas y el sistema iva a terminar siendo muy complejo.

Paralelamente a esto estaba leyendo un libro de C#, donde me impresionó mucho el Framework, nunca antes había escuchado esa palabra, era totalmente nuevo para mí... Ahí fue cuando adopté esa tecnología en PHP, habrás visto el Using() esto no es más que el Using() de la plataforma .NET, me incluye una clase al proyecto, y a su vez esa clase puede hacer otro Using si necesita de una clase base para funcionar. También como en .NET todas las clases heredan de una clase base Object que tiene algunos métodos y propiedades comunes a todas las clases (yo las llamo plugins) de la librería.

Un plugin especial es ERROR ya que no es necesario cargarlo, puesto que todos los otros plugins le pasan información acerca de sus tipos de errores, los errores se generan con un reporte especializado que muestra muchos datos tanto del cliente que produjo el error como información del servidor. Es más está completamente manipulado el reporte de errores de PHP, en las llamadas a métodos de los plugins de las clases se puede poner un @ (arroba) delante de la instrucción y la librería corrobora si debe generar el reporte en caso que se produzca un error y mostrarlo o ignorarlo dependiendo de esta característica.

La clase de validación también la hice inspirándome en .NET, ya que había unos burdos objetos para validar campos, creo que existía el objeto validar requerido, validar numérico (o algo parecido), lo que pensé fue en una sola clase que VALIDE, independientemente de lo que quiera validar.

Después me fui topando con muchos inconvenientes, por ejemplo, cuando estaba haciendo el asistente de currículos me topé con que una persona podía cargar más de un trabajo, entonces yo iva a tener más de un formulario en el mismo script, puesto que el dueño no quería hacer un listado tuve que agregar la funcionalidad para validar campos múltiples, es decir, proporcionarle el nombre de sólo un objeto HTML para validar e indicarle que puede haber un array de "i" a "j" índices, pero esto se divide en dos partes: 1) Validación de campos multiples y 2) Validación de formularios mútliples, que estos son distintos campos enlazados por un índice a un mismo formulario, en pocas palabras, la validación se efectúa varias veces dependiendo de la cantidad de formularios enviados.

Obviamente que cuando empecé a desarrollarla tenía determinados estándares por ejemplo, todas las clases tenía un prefijo "U" dado a que el nombre de la empresa empezaba con esa letra... Con el tiempo fui quitando esas cosas...

Cita:
Iniciado por Reynier
Uff, deberías haberlo hecho hace tiempo ya y no es por criticar pero deberías usar los estándares existentes
Es verdad, eso es lo que estamos haciendo ahora.

Cita:
Iniciado por Reynier
Excelente para crear la documentación final del Proyecto no para comentarios ni estándares, o al menos eso es lo que tengo entendido que hace phpDocumentor.
Te cuento algo, hay algunos editores de código PHP como el Zend que tienen ayuda contextual, y documentar el código me sirve más para la ayuda contextual que para phpDocumentator (sólo en mi caso) ya que casi ni usamos la documentación de phpDocumentator aunque siempre la volvemos a generar cuando se actualiza la librería...

Cita:
Iniciado por Reynier
¿Entonces porque razón comentas que desarrollas una clase y además de ello pones el código?
Puse el código porque es muy largo según varios estándares y en este foro estábamos hablando sobre qué opciones hay para optimizarlo. Además no me molesta poner la clase (me da fiaca), los métodos que uso le pueden ser de ayuda a alguien y yo he recibido ayuda en muchas ocaciones.

Cita:
Iniciado por Reynier
Perfecto, entonces crea tu propio repositorio de clases y ya verás que te mueres haciendo las cosas.
Ya lo hice y se llama ClassLib y como bien decís, casi me muero haciendo esto, ya lleva 2 años de desarrollo !!!! Y todavía me faltan clases para enviar mails, para FTP, para consultar POP3, etc...

Cita:
Iniciado por Reynier
Obvio que tardas mas en desarrollar todo que en leer la documentación dirigida al uso de una librería existente. Eso está de más aquí.
En mi caso me pasó lo contrario, quize descular JPGraph y casi me vuelvo tarado, soy de poca paciencia cuando trato de entender como trabaja otra persona, si yo no fuera así hoy estaría usando un Framework el triple de potente que el mío. Pero igualmente hago una consulta, yo he tratado de utilizar varias clases de PEAR por ejmplo y éstas tenían algunos errores (NOTICE) yo veo todos los errores que suceden porque no me gusta que me pasen cosas inesperadas, y así me pasó con muchas clases que tenía que toquetearlas para que funcionen en mi Servidor PHP. Cosa que nunca me pasa con mi librería porque hago la configuración estándar y manual, muchas veces me evito problemas.

Y si Tukzone vio el código en otro lado le hago un giro bancario si me dice donde, no tego miedo porque sé que tengo razón y aquí dije en qué me basé al construir la librería y esa clase, así que supongo que no quedan dudas.

Ahora volvamos al tema anterior, me habían dicho que postee la clase para ver qué se puede optimizar y qué no, lo reprogramo y hasta podría separar la clase de la librería y ponerla en un medio público con el nombre de todos los que contribuyan y el link de este foro, para que Tukzone no diga que me quedo con el crédito de otra persona.

Última edición por gnfrs; 03/03/2006 a las 08:53
  #49 (permalink)  
Antiguo 03/03/2006, 08:51
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Guns, no defiendas lo indefendible. Seguis comentando y cometiendo errores con las cosas que decis.

Primero, no lograste explicar el porque de los 2 puntos que expuse y que demuestran que es robado. Segundo punto y mas importante, no comentaste nada sobre tu maravilloso don de escribir variables y metodos en ingles y comentarios en espaniol. Algo que confunde tanto al programador de habla hispana como al de habla inglesa.

Cita: "tuvimos que adoptar, crear y establecer nuestros propios estándares"

Aca cometes otro error y grave, los estandares de los metodos estan bien, lo que esta mal son los comentarios y cosas que editaste. Dicho esto, porque decis que los estandares del codigo son distintos? Dando a entender que estan mal.

Y, porque los comentarios estan en ingles/espaniol y el codigo en ingles?? No tiene sentido.

Una vez que respondas esto paso a los siguientes 2 puntos que demuestran porque este codigo es de otro y no tuyo.
  #50 (permalink)  
Antiguo 03/03/2006, 08:55
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 8 meses
Puntos: 3
Por cierto gnfrs tu página o la de tu empresa estudioquadra se ve pésima con Firefox en question utilizo Kubuntu 5.10 y firefox 1.5.0.1 y madre mia q mal para ser una empresa que se dedica a servicios web y que no se vea con firefox !!! en fin espero que lo solventeis más que nada por la imagen que dareis a los clientes por cierto con Konqueror tampoco se ve. En fin no tengo ningun navegador que me funcione para ver la página me tendre que instalar $xplorer con el wine???? espero que no. Dewwws
  #51 (permalink)  
Antiguo 03/03/2006, 08:55
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Aja ....

Muy bien, eso que pones, ya sabemos de donde sale tu clase. Ya que tocas el tema de los Frameworks: ¿has oído hablar de PRADO o de Symfony o Seagull? Son frameworks para PHP muy buenos. Por ejemplo PRADO es casi casi el mismo .NET.Te recomiendo que le heches una ojeada (www.xisc.com) ya que todos esos problemas que presentas con tu clase los resuelve el mismo sencillamente. El comprendimiento es un poco díficil pero cuando aprendes te aseguro que tus aplicaciones se reducen muchisimo. Yo por ejemplo comence hace como tres semanas a estudiarlo y ya tengo alguna que otra cosilla hecha. Eso si es todo POO así que debes saber bastante de esta y además conocer que cosa es un framework y como funciona.

Salu2
__________________
Ing. Reynier Pérez Mira
  #52 (permalink)  
Antiguo 03/03/2006, 08:58
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Tambien eso ...

Bueno no me había tomado el trabajo de entrar pero la probé sobre Win32 con Firefox 1.5.1 y vaya que mal se ve. Deberías arreglar eso ya que atenta contra tu imagen o sino lo haces asi entonces poner que solamente es visible en IExplorer (). Recuerda q a lo mejor tu usas IE pero tienes q pensar en la mayoría y no en ti.
Salu2
__________________
Ing. Reynier Pérez Mira
  #53 (permalink)  
Antiguo 03/03/2006, 09:00
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
1: Spanglish: Me queda cómodo. Trabajé en varias empresas de desarrollo y no soy el únigo que programa así y es más me acostumbré a eso por trabajar en otras empresas. Yo busco que se entienda y que me quede cómodo, en la librería opté por usar mis métodos en inglés, sólo porque me queda cómodo. En los nombres de las variables a veces no sé cómo llamarlas en inglés y le pongo algo en castellano para no estar 1/2 hora buscándole el nombre de la variable. ¿Acaso me vas a decir que nadie pone comentarios en español y variables o funciones en inglés? ¿Acaso me vas a decir que nadie mezcla idiomas? ¿Acaso me vas a decir que todos los que mezclen idiomas usen código de terceros?

2: Los comentarios están en español porque es para mí y mis socios. Obvaimente los comentarios que están dentro de la librería prácticamente son para mí porque yo soy el que mantiene la librería, mis colegas utilizar la ayuda contextual.

¿Qué cometarios están en inglés?
Cuando veas una @ dentro de un comentario la vas a ver antes de una palabra clave en inglés, eso es para phpDocumentator que es una herramienta para generar documentación.

¿Me creés?
  #54 (permalink)  
Antiguo 03/03/2006, 09:09
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Me voy a fijar el problema de la página, No sé porqué se ve así..

Está todo corrido hacia la derecha?
Yo uso el Firefox: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.7.12) Gecko/20050919 Firefox/1.0.7 y no tengo problemas en la visualización.

Reynier: Gracias por el dato lo voy a tener en cuenta.
Conozco PRADO, pero no es para PHP5?
  #55 (permalink)  
Antiguo 03/03/2006, 09:12
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Me podrían facilitar algún MSN para tratar de corregir el problema ya que en mi explorador no tengo inconvenientes.

Gracias de antemano.
  #56 (permalink)  
Antiguo 03/03/2006, 09:39
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Encontre 3 cosas mas, la tercera es muy comica escucha:

1- Linea 1423/1426, hay dos variables en espaniol!! Aleluya, escibiste 4 lineas de codigo.

2- if/else, como es eso, con corchetes o sin corchetes ;)

3- esta es graciosa...

Decis que escribiste una clase de 1500 lineas que valida formularios y el formulario de tu sitio cuado haces click en enviar... NO VALIDA NADA!!!!!! MANDA EL MAIL!!!

Sos un mitomano, todo eso que decis del spaninglish y demas es un chiste.
  #57 (permalink)  
Antiguo 03/03/2006, 09:43
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Cualquier empresa en el mundo que le escribis una clase en otro idioma te despide automaticamente. Es como mandarle un mail a tu jefe en japones.

Lo peor de todo, no me importa que mientas, es que quieras que la gente te de creditos por algo que no hiciste. Esas cosas son imperdonables.
  #58 (permalink)  
Antiguo 03/03/2006, 10:32
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Cita:
Iniciado por Reynier
Muy bien, eso que pones, ya sabemos de donde sale tu clase.
No te cierres tanto en tus pensamientos Tukzone. Fijate si encontrás algunas clases que tenga variables en Inglés y comentarios en otro idioma, de seguro que hay. ¿Son todos como yo esos? ¿Roban código ajeno y le sacan el copyright? Coincido con que quizá esté mal usar esa técnica, pero eso no me hace un vividor.

Cita:
Iniciado por Tukzone
1- Linea 1423/1426, hay dos variables en espaniol!! Aleluya, escibiste 4 lineas de codigo.
No sé adónde querés llegar con esto.

Cita:
Iniciado por Tukzone
if/else, como es eso, con corchetes o sin corchetes ;)
Otra vez te repito que no hay normas establecidas, como antes mencioné. Ahh, la norma que uso en esos IF es la siguiente: si el if es de una sola línea no uso corchetes (muchos programadores usan esta técnica), vas a notar en dos o tres veces no aplico esto ya que esas modificaciones las hice hace poco.

Cita:
Iniciado por Tukzone
Decis que escribiste una clase de 1500 lineas que valida formularios y el formulario de tu sitio cuado haces click en enviar... NO VALIDA NADA!!!!!! MANDA EL MAIL!!!
No veo que sea necesario validar eso, a lo sumo envío un email al pedo.

Tukzone: Dejá de joder, ya expliqué cómo funciona la clase, cómo la hice y de dónde vino, te respondí todas las preguntas que me hiciste para que te des cuenta que ese código no lo saqué de otro lado y estás diciendo cosas sin sentido basándote en suposiciones que estás inventando como decir que me quiero llevar el crédito por algo que hizo alguien más.

Detenete a leer lo que dije antes:
Cita:
Iniciado por gnfrs
Ahora volvamos al tema anterior, me habían dicho que postee la clase para ver qué se puede optimizar y qué no, lo reprogramo y hasta podría separar la clase de la librería y ponerla en un medio público con el nombre de todos los que contribuyan y el link de este foro, para que Tukzone no diga que me quedo con el crédito de otra persona.
¿A vos te creés que me importa obtener el crédito por un código que hizo otra persona? En la web hay miles de Frameworks no me voy a hacer famoso por uno que ni siquiera voy a hacerlo público...
Si querés lo preparo yo y pongo tu nombre en vez del mío si te hace feliz.

Cambiando de tema:
Lo único que quiero es que me den una mano como antes habían dicho para optimizar esta clase. A ver qué se les ocurre, yo opino que es bastante complejo el funcionamiento, más por el tema de los campos múltiples enlazados y no enlazados.
¿Ideas?

Última edición por gnfrs; 03/03/2006 a las 10:50
  #59 (permalink)  
Antiguo 05/03/2006, 04:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 2
Cita:
Podes conocer de memoria todas las paginas del manual, pero si no tenes sentido comun nunca vas a lograr ser un buen programador. Uno no nace con sentido comun, lo adquiere con el tiempo.

De nada sirve tener 200 clases perfectamente ordenadas en una aplicacion robusta y prolijamente desarrollada, si a la hora de actualizarla no podemos porque al modificar una quebramos otra, como asi tampoco sirve de nada si termina siendo un laberinto y perdemos mas tiempo modificandola que desarrollandola de nuevo. --- TUKZONE

A lo que voy es que no siempre es "necesario" aplicar el 100% de la teoria de objetos, siempre se llega a un punto en el que se logra un equilibrio entre lo que esta bien diseñado y lo necesario para el problema.

En si, la programacion orientada a objetos es bastante "natural" y una vez que se comprenden los conceptos basicos, lo que sigue es mas sencillo. -- NOK
Totalmente de acuerdo lo importante es encontrar el equilibrio, y para eso debes de estar comodo con la teoria de la POO, usarla para ir madurando el sentido comun que te da la experiencia para dterminar la mejor forma de resolver un problema.
Cita:
Muchas veces es COMPLETAMENTE NECESARIO sacrificar el rendimiento de un sistema para obtener mayor rapidez de desarrollo, si Microsoft no reutilizara código NUNCA podría hacer un sistema operativo en menos de 2 años...

La mejor forma de darse cuenta es con práctica, yo tengo un Framework con muchos objetos hay algunas clases que tienen más de 2000 líneas de código, ¿qué veneficio tengo? Hago un formulario con un listado y sus respectivas validaciones de datos y grabación en tan sólo 10 minutos...
No, eso no es cierto del todo, reusar no significa sacrificar el rendimiento, para eso existen los siclos de desarrollo para que en la siguiente interaccion incorpores mejoras, y entre ellas el rendimiento y la flexibilidad del sitema son una de ellos.
Entiendo que es probable que por cuestiones de tiempo no se haga un objeto con el mejor diseño la primera vez, y eso depende de la experiencia que se tenga usando el conocimiento del problema que estamos manejando, pero de hay a que dejes algo ya por terminado sin refactorizarlo en aras de la reutilizacion es otra cosa. por que en tu caso el crecimiento de tu clase se debio a que le seguiste añadiendo responsabilidades sin tal vez pensar si habia una mejor manera de hacer lo mismo.
Y es cierto el que mejores una clase no significa que no vaya haber incompatibilidades con tus aplicaciones actuales, pero sabes cuando mejoras algo la tendencia siempre es la simplificacion de las cosas.
Y eso lo debieras de saber por experiencia, que comentas la tienes y creo que asi es ya que representas tu empresa.

Ahora los detalles de quien hizo la clase, bueno esto es un foro y cada quien tiene su version de la historia lo que genera un debate y una discusion. Pero para no entrar en conflicto ya que no es de mi interes tal vez podamos pasar al ejercicio que se estba proponiendo sin la clase de gnfrs, podemos usar otra que este en la red o crearnos una para el ejercicio y que se genere una lluvia de ideas donde todos opinemos como se puede mejorar de alguna manera, creo que al final a un que no sea la clase que genero la polemica las ideas igual aplicaran para la misma.

Jejeje, Tukzone espero que no hayas austado a mas de uno, que ya no quiera publicar su trabajo.
Y gnfrs no te lo tomes en serio, esto es un lugar de debate y asi como hoy te toco recivir a todos yo creo nos ha pasado alguna vez estar del lado de los acusados en otras tal vez hemos sido inquisitores, asi es esto.
__________________
Saludos!
Mty-NL..
  #60 (permalink)  
Antiguo 05/03/2006, 13:15
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 3 meses
Puntos: 11
Por lo menos quedo una moraleja con todo este asunto de la clase...

Las clases de 2000 lineas si traen problemas, y el que no me crea que lea de nuevo este mensaje :p
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:04.