tag:blogger.com,1999:blog-19450532.post114602264907478523..comments2023-08-04T05:53:13.693-03:00Comments on PHP Senior: Programación: "Orientada a la Implementación" versus "Orientada a la Interface" - Parte 1 (revisado 11/12/2008)Enrique Placehttp://www.blogger.com/profile/15452998349449419148noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-19450532.post-87561705078251412102008-12-09T20:46:00.000-02:002008-12-09T20:46:00.000-02:00Estimado Alfredo:> Primero que nada, muy buen &...<B>Estimado Alfredo:</B><BR/><BR/>> Primero que nada, muy buen <BR/>> artículo. Me parece muy buena tu <BR/>> colaboración para incentivar un <BR/>> aprogramación con fundamentos <BR/>> sólidos orientados a objetos.<BR/><BR/>En sí no es nada del otro mundo si venimos de Java, pero bueno, en el mundo de los ciegos el tuerto soy yo ;-)<BR/><BR/>> ¿Escribiste ya la segunda parte? ;-)<BR/><BR/>Se las mandé de deberes terminar a todos los alumnos de los talleres de POO PHP5 ;-)<BR/><BR/>> Primero<BR/><BR/>> En la clase Index hacés llamado <BR/>> a Copy::escribir(), método que <BR/>> no existe dentro de la clase <BR/>> Copy.<BR/>> Si lo cambio por Copy::copy() me <BR/>> genera el segundo punto que te <BR/>> escribo.<BR/><BR/>Sí, fue un error involuntario, en sí sería Copy::run() (ya está corregido en el post).<BR/><BR/>> Segundo<BR/><BR/>> Al intentar implementar tu <BR/>> código en mi computadora (la del <BR/>> trabajo en realidad), cuando <BR/>> queria ejecutarlo (haciendo el <BR/>> cambio que indicqué arriba), <BR/>> PHP5 me mostraba el siguiente <BR/>> error: 'Fatal error: Constructor <BR/>> Copy::copy() cannot be static in <BR/>> D:\xampplite\htdocs\test\logica<BR/>> \Copy.php on line 15'<BR/><BR/>> Investigué en la documentación <BR/>> de PHP y me enteré que por <BR/>> cuestiones de compatibilidad con <BR/>> PHP4, si una clase no tiene <BR/>> declarado el método __construct, <BR/>> PHP5 verifica si existe un <BR/>> método con el mismo nombre que <BR/>> la clase para utilizarlo como <BR/>> constructor.<BR/><BR/>Muy interesante ;-) Sí, es verdad, en PHP5 aún funciona el constructor de PHP4 que sería hacer un método con el mismo nombre de la clase, aunque debería ser en mayúsculas y no en minúsculas.<BR/><BR/>> En resumen<BR/><BR/>> Creo que hice mucho lio =p<BR/>> Supongo que hay que cambiar el <BR/>> nombre del método copy de la <BR/>> clase Copy por el nombre <BR/>> escribir.<BR/><BR/>Ya quedó solucionando como te comenté, lástima que te estoy respondiendo tan tarde ;-)<BR/><BR/>Dentro de poco, cuando termine con los talleres de este año, escribiré la segunda parte, que por suerte, los alumnos del taller en su mayoría pudieron completarla solos ;-)<BR/><BR/>Saludos!Enrique Placehttps://www.blogger.com/profile/15452998349449419148noreply@blogger.comtag:blogger.com,1999:blog-19450532.post-79925296459424051652008-10-21T11:45:00.000-02:002008-10-21T11:45:00.000-02:00Enrique,Primero que nada, muy buen artículo. Me pa...Enrique,<BR/>Primero que nada, muy buen artículo. Me parece muy buena tu colaboración para incentivar un aprogramación con fundamentos sólidos orientados a objetos.<BR/>¿Escribiste ya la segunda parte? ;-)<BR/><BR/>Quería remarcar dos cosas del código.<BR/><BR/><B>Primero</B><BR/>En la clase Index hacés llamado a <I>Copy::escribir()</I>, método que no existe dentro de la clase Copy.<BR/>Si lo cambio por <I>Copy::copy()</I> me genera el segundo punto que te escribo.<BR/><BR/><B>Segundo</B><BR/>Al intentar implementar tu código en mi computadora (la del trabajo en realidad), cuando queria ejecutarlo (haciendo el cambio que indicqué arriba), PHP5 me mostraba el siguiente error: <I>'Fatal error: Constructor Copy::copy() cannot be static in D:\xampplite\htdocs\test\logica\Copy.php on line 15'</I><BR/><BR/>Investigué en la documentación de PHP y me enteré que por cuestiones de compatibilidad con PHP4, si una clase no tiene declarado el método <I>__construct</I>, PHP5 verifica si existe un método con el mismo nombre que la clase para utilizarlo como constructor.<BR/><BR/><B>En resumen</B><BR/>Creo que hice mucho lio =p<BR/>Supongo que hay que cambiar el nombre del método <I>copy</I> de la clase <I>Copy</I> por el nombre <I>escribir</I>.Alfredo Alonsohttps://www.blogger.com/profile/15475401547548215771noreply@blogger.comtag:blogger.com,1999:blog-19450532.post-59166965451456747282007-01-16T11:20:00.000-03:002007-01-16T11:20:00.000-03:00excelente, muy buen articulo.
Muy agradecido y es...excelente, muy buen articulo.<br /><br />Muy agradecido y espero con ansias el 2º capitulo.Andrés Guzmánhttps://www.blogger.com/profile/11554275250073230833noreply@blogger.comtag:blogger.com,1999:blog-19450532.post-1146224096838508342006-04-28T08:34:00.000-03:002006-04-28T08:34:00.000-03:00El tema es que estos conceptos no son nuevos; son ...El tema es que estos conceptos no son nuevos; son usados más frecuentemente en ambientes que hace años trabajan con la OOP (C++, Java, .Net, etc).<BR/><BR/>La gran ventaja de PHP5 es que el soporte a la orientación a objetos a subido a niveles *similares* a estos lenguajes 100% orientados a objetos, permitiendo que podamos subir de nivel nuestra programación.<BR/><BR/>Lo que trato de transmitir con mis artículos a los programadores de PHP es que existen otros mundos, no es todo "programación scripting", no todo es "programación estructurada", no todo es "programación estructurada usando algunos objetos" ... actualmente se puede empezar (con un poco de creatividad) a subir el nivel de nuestros diseños.<BR/><BR/>Nos quedan ver otros patrones de diseño, recorrer principios de diseño, etc.<BR/><BR/>¡Sigamos adelante!Enrique Placehttps://www.blogger.com/profile/15452998349449419148noreply@blogger.comtag:blogger.com,1999:blog-19450532.post-1146210871450139302006-04-28T04:54:00.000-03:002006-04-28T04:54:00.000-03:00Hola, estoy deseando leer la segunda parte. Creo q...Hola, estoy deseando leer la segunda parte. Creo que empieza a gustarme eso de la programación OOP, hasta ahora solo daba "credibilidad" a la programación altamente estructurada con estructuras complejas como el C.<BR/><BR/>Muy buen artículo.<BR/><BR/>Saludos,<BR/>fegor.<BR/>http://www.fegor.comAnonymousnoreply@blogger.com