Foros del Web » Programando para Internet » PHP »

PHP OO Duda con PHP y POO

Estas en el tema de Duda con PHP y POO en el foro de PHP en Foros del Web. Hola a todos, espero que me brinden una ayuda y que entiendan lo que les explico: en PHP normal para hacer una consulta se hace ...
  #1 (permalink)  
Antiguo 06/10/2010, 21:09
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Exclamación Duda con PHP y POO

Hola a todos, espero que me brinden una ayuda y que entiendan lo que les explico:

en PHP normal para hacer una consulta se hace de la siguiente forma:
Código PHP:
Ver original
  1. $request = mysql_query("SELECT * FROM tabla ORDER BY nombre DESC LIMIT 10");
  2. while($row = mysql_fetch_assoc($request)) {
  3. echo '<b>' . $row['nombre'] . '</b><br />';
  4. }

¿Cómo sería en el caso de POO? (PHP Orientedo a Objetos)

¿O POO está orientado para hacer otro tipo de aplicaciones web?

¿Cómo se hace para crear una función en POO?

Espero que no sean muchas preguntas, se bastante de PHP & MySQL, pero quiero adentrarme en el POO, que parece más rápido y mejor.
  #2 (permalink)  
Antiguo 06/10/2010, 21:24
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Duda con PHP y POO

Código PHP:
<?
class Query {
    function 
query() {
        
$this->query mysql_query("SELECT * FROM tabla ORDER BY nombre DESCT LIMIT 10");
    }

    function 
mostrar() {
        
$this->row mysql_fetch_assoc($this->query);
        if (
$this->row) {
            return 
true;
        }else{
            return 
false;
    }

    function 
row($var) {
        return 
$this->row[$var];
    }
}

$i = new Query();
$i->query();
while (
$i==true) {
    echo 
$i->row['nombre'].'<br>';
}
?>
Asi lo hago yo... Estoy seguro que hay formas mas faciles, pero esa es la mas dinamica que hice yo mismo :P
Te recomiendo que leas tutoriales sobre OOP
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 06/10/2010, 21:26
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Duda con PHP y POO

¿Algún sitio en especial que sea desde los más principiantes hasta el más experto? (Nivel de Usuario)
  #4 (permalink)  
Antiguo 06/10/2010, 21:31
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Duda con PHP y POO

http://phpya.com.ar/poo/
Pero igual google no te caeria nada mal ;)
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 07/10/2010, 08:22
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: Duda con PHP y POO



http://lmgtfy.com/?q=poo+con+php

;)
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #6 (permalink)  
Antiguo 07/10/2010, 08:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Duda con PHP y POO

Antes de nada, desbes saber que POO es una forma de programar distinta de la "normal" mucho mas organizada y simple. Su cualidad principal es la de REUTILIZAR CODIGO, con POO consumes menos lineas de codigo. Te recomiendo que te adentres, lo mejor es un libro y apoyas ese aprendizaje con tutoriales y foros en internet.
Un saludo!
  #7 (permalink)  
Antiguo 07/10/2010, 08:54
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Duda con PHP y POO

Sumado a lo que comenta @mariomon17 POO no solo es programar en clases, si no sigue toda una lógica, el que programes utilizando clases no quiere decir que programes en POO
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 07/10/2010, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a PHP orientado a objetos
  #9 (permalink)  
Antiguo 09/10/2010, 08:19
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 13 años, 6 meses
Puntos: 54
Respuesta: Duda con PHP y POO

bien, es una pregunta bastante abierta para contestarla solo en unas cuantas lineas, pero hay ya muchas clases por ahi que puedes usar.
Busca un poco por CRUD ( Create, Read , Update et Delete ) en php, O sea, que son clases que realizan las operaciones basicas por ti, tu solamente instancias la clase, llamas a los metodos y yasta!
Yo siempre termino reutilizando algun SqlWrapper, o classe que haga todo esto por mi, en todos los proyectos, asi todas las operaciones bbdd se hacen limpiamente sin problemas.
De todas formas, si no encuentras nada esta PDO, echa un vistazo tambien, lol
  #10 (permalink)  
Antiguo 09/10/2010, 09:49
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Duda con PHP y POO

Yo por ejemplo es mis proyectos utilizo una clase auxbd, donde los metodos son: conectar, desconectar, ejecutar, datos, y liberar.
Y luego en mis otras clases, por ejemplo producto hago lo siguiente:
Código PHP:
Ver original
  1. class producto  {
  2. function nuevo($nombre,$descrip) {
  3.    $db = new auxdb;
  4.    $db->conectar;
  5.    $sentencia = "INSERT INTO producto (nombre,descripcion) VALUES ('".$nombre."','".$descrip."')";
  6.   $db->ejecutar($sentencia);
  7.   $db->desconectar();
  8.  }
  9. }

Y en la pagina a la que va el formulario solo tengo que poner este codigo:
Código PHP:
Ver original
  1. $producto = new producto;
  2. $producto -> nuevo($_POST["nombre"],$_POST["descripcion"])
Comprendiste, el codigo de la clase auxdb imaginatelo.
Un saludo!
  #11 (permalink)  
Antiguo 19/10/2010, 08:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP orientado a objetos a PHP
  #12 (permalink)  
Antiguo 19/10/2010, 10:54
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Duda con PHP y POO

Cita:
Iniciado por GatorV Ver Mensaje
Tema movido desde PHP orientado a objetos a PHP
Pero ¿?, yo no entiendo estos cambios.
  #13 (permalink)  
Antiguo 13/12/2010, 22:49
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Duda con PHP y POO

Cita:
Iniciado por Sourcegeek Ver Mensaje
Código PHP:
<?
class Query {
    function 
query() {
        
$this->query mysql_query("SELECT * FROM tabla ORDER BY nombre DESCT LIMIT 10");
    }

    function 
mostrar() {
        
$this->row mysql_fetch_assoc($this->query);
        if (
$this->row) {
            return 
true;
        }else{
            return 
false;
    }

    function 
row($var) {
        return 
$this->row[$var];
    }
}

$i = new Query();
$i->query();
while (
$i==true) {
    echo 
$i->row['nombre'].'<br>';
}
?>
Asi lo hago yo... Estoy seguro que hay formas mas faciles, pero esa es la mas dinamica que hice yo mismo :P
Te recomiendo que leas tutoriales sobre OOP
Esto sería como una clase, en la cual sería global? Osea en vez de estar haciendo una por una la Mysql_query... Con esto lo hago global? (Como function) Pero obviamente cambio lo de "SELECT * FROM tabla ORDER BY nombre DESCT LIMIT 10" y le coloco una variable, en la cual sea insertada. ¿Estoy en lo correcto?
  #14 (permalink)  
Antiguo 14/12/2010, 09:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Duda con PHP y POO

Siento decir que no entiendo tu pregunta.
Tu esta clase la instancias, y le pasas los parametros (si tiene) y esta realiza el codigo.
  #15 (permalink)  
Antiguo 14/12/2010, 09:50
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 9 meses
Puntos: 35
Respuesta: Duda con PHP y POO

estem yo tampoco entendi eso de
while ($i==true)
$i es un objeto instanciado por lo tanto siempre será true. Como consecuencia el bucle se ejecutará infinitamente...
__________________
I am Doyle please insert code.
  #16 (permalink)  
Antiguo 14/12/2010, 10:33
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Duda con PHP y POO

En otras palabras. ¿Me podrían dar un código para que la consulta sea rápida, y que yo sólamente le modifique el diseño a los resultados?

Se tendría que ocupar: Mysql_query, mysql_fetch_assoc, y en algunos casos mysql_num_rows. Gracias de antemano.
  #17 (permalink)  
Antiguo 14/12/2010, 10:56
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Duda con PHP y POO

Yo te digo la estructura, haces el codigo y si tiene errores nos preguntas!

CLASE AUXDB
-CONECTAR ()
-SENTENCIA ($sentencia)
-EJECUTAR($identificador)
-NUM_FILAS ($identificador)
-DESCONECTAR () --> opcional
-LIBERAR () --> opcional

Mas o menos, entiendes?

Etiquetas: consulta, mysql, objetos, orientado, poo
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




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