Programación Web y Scripting > PHP
Agenda en POO(recibo criticas)
cesand:
Gente como les va?
comenzando con la POO cree esta aplicacion basica qe es un ABM (alta, baja, modificacion) estoy empezando y la subi a la web para que en lo posible le den una mirada y opinen bien o mal la idea es mejorar..
La idea de la aplicacion es una agenda de contactos personales online
Agenda: http://www.addcontactos.260mb.com/index.php
Amigos voy a poner a desposicion de todos los script de la aplicacion.. si no es mucha molestia lo que me encantaria consegir qe le den na mirada rapida anque sea a los codigos no para buscar errores sino para qe me digan "es POO" o "no es POO" como la programe nada mas para saber si voy encaminado :)
script con la db incluida:
http://rapidshare.com/files/418308019/agenda.rar
PD: cambiando solo los parametros de mysql_connect() en la clase segun como los trabajen ustedes tendria que fncionar en local si quieren.
Le falto un buscador a la agenda pero bueno eso para la version 2.0 XD
ibito:
Mira, no te voy a decir que está mal porque tu agenda funciona, sin embargo, tu quieres saber si tu código es POO, pues si y no.
¿Cómo es esto?
Pues resulta que en tu código, tienes clases, haces instancias de ellas (objetos) y por lo tanto si es programación orientada a objetos, sin embargo, yo te recomendaría por ejemplo que no dividieras tanto tus clases, es decir, tener una clase database, en la cual definieras la conexión y los métodos (llamadas funciones en un paradigma no orientado a objetos) con los cuales te conectaras, hicieras consultas a la base de datos, etcétera.
Un ejemplo (el cual estoy escribiendo al vuelo y no está comprobado) sería algo así:
--- Código: PHP --- <?phpclass Database { private $User; private $Password; private $Database; private $Host; private $_Link; // aquí mantienes el enlace a la base de datos en caso que lo ocupes. public function __construct($host, $user, $pass) { $this->Host = $host; $this->User = $user; $this->Password = $pass; $this->_Link = mysql_connect($this->Host, $this->User, $this->Password); } public function __destruct() { mysql_close($this->_Link; } public function Insert($arg1, $arg2) { // código para insertar. }}
Es solo un ejemplo y alguien puede mejorarlo mucho, espero te haya ayudado un poco.
cesand:
Muchisimas gracias por tu opinion ibito, es justo lo que pretendia. mas qe vean la funcionalidad de la aplicacion.. una opinion de los script y el desarrollo en POO.. encuanto a la clase que mostraste asi rapido estoy usando ahora una muy similar a esa que hice :D mil gracias amigo.. una ultima cosa que me gustaria saber el consepto de encapsulado lo estoy cumpliendo? o no?
Suerte
ibito:
--- Citar ---Encapsulación
Encapsulamiento es el ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.
--- Fin de la cita ---
Básicamente, (a lo que yo entiendo y alguien nos puede sacar de la duda) es ponerle modificadores de acceso a los miembros, para que estos no puedan ser accesados desde cualquier parte de tu código, y uses propiedades (get y set), en vez de modificar con
--- Código: PHP --- $objeto->sql = "select * from tabla"; uses
--- Código: PHP --- $objeto->sql("select * from tabla");
Con esto tu puedes tratar el string enviado de la misma forma cada vez que lo uses (ej. ¿ mysql_real_escape_string ?).
Algo que te puede ayudar http://mundogeek.net/archivos/2010/04/25/propiedades-en-php/
Espero haberme explicado :)
cesand:
Ibito Te agradesco muchisimo tu comentario.,. tratare de trabajar mas el encapsulamiento y bueno practicar, leer y preguntar creo sera el camino.. otra cosa me sirvio mucho ese ejemplo de metodo sql que mostraste lo implemente ya que tengo una aplicacion con muchas consultas y creardo distintos objetos de la misma clase pero llamando siempre a ese metodo generando obiamente distintas consultas me ayuda a no repetir metodos y escribir codigo de mas :) te lo agradesco nose si lo estare usando bien pero me sirve asi XD
Navegación
[#] Página Siguiente
Ir a la versión completa