Foros del Web » Programando para Internet » PHP »

empezando a programar oo en php

Estas en el tema de empezando a programar oo en php en el foro de PHP en Foros del Web. Buenas tardes, desde hace un tiempito he venido probando algunos codigos orientado a objeto pero nunca he empezado desde cero algo, siempre lo manejo estructurado ...
  #1 (permalink)  
Antiguo 28/09/2010, 13:31
 
Fecha de Ingreso: marzo-2010
Mensajes: 152
Antigüedad: 14 años, 1 mes
Puntos: 1
De acuerdo empezando a programar oo en php

Buenas tardes, desde hace un tiempito he venido probando algunos codigos orientado a objeto pero nunca he empezado desde cero algo, siempre lo manejo estructurado y si debo utilizar alguna clase por alli la utilizo y ya, pero ahora si debo empezar de lleno a programar orientado a objeto, tengo los conocimientos basicos de que es orientado a objeto(clase, herencia, objeto, metodos, instancia) pero solo eso la teoria, y programando realmente soy novata desde hace aproximadamente casi 8 meses es q vengo programando y elegí php, algunos piensan que las mujeres no programan pero bueno yo quiero saber si eso es verdad jeje y por eso estoy tratando de especializarme solo en un lenguaje por los momentos y este es php y quiero aprender de una vez orientado a objeto, asi que agradezco toda la colaboracion de parte de ustedes con link de tutoriales y ese tipo de cosas, estoy muyy agradecida con este foro porq he aprendido muchooooo con ustedes siempre me ayudan, asi sea por un pto y coma q me falte jeje....

Bueno para no seguir les voy a preguntar una duda q me surge, yo puedo hacer una clase donde declare que una variable es publica y utilizar esa variable para declarar otrar variables como publicas, ejemplo:

Class data
varPub oDP//aqui estoy declarando que odp es de tipo publico


ahora yoquiero algo asi

oDP:cUsuario//quiero decir que cUsuario es de tipo publico y asi no tendria que declarar public a cUsuario sino oDP, ensi lo que quiero es una clase donde tenga todas mis variables globales dentro de una variable y cdo la necesite yo llamo es a la variable que he creado y no ha la variable de PHP.

Bueno en si nose si me explico bien, pero estoy atenta a sus comentarios, muchas gracias :)
  #2 (permalink)  
Antiguo 28/09/2010, 13:46
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: empezando a programar oo en php

Cita:
ensi lo que quiero es una clase donde tenga todas mis variables globales dentro de una variable
Ten cuidado de tratar de "programar OOP" pensando en las clases como repositorios de funciones, son mucho más que eso
__________________
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
  #3 (permalink)  
Antiguo 28/09/2010, 14:21
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: empezando a programar oo en php

Hola jen, creo que no te explicas muy bien o al menos no te comprendo del todo.
Si lo que quieres es declarar un nuevo "tipo" de variable con acceso publico y luego declarar variables de ese tipo (al estilo de los structs de C), no, eso no se puede en php. En realidad, en otros lenguages el "tipo" de la variable afecta al tipo de dato y no al acceso (si es que esta es la pregunta).
A veces he utilizado una propiedad pública de tipo array, algo así

Código PHP:
class Usuario{
        public 
$properties = array();

public function 
__construct($iDusuario){
      
$query mysql_query("select * from usuarios where id = '".$iDusuario."'");
     
$a mysql_fetch_assoc($query))
     foreach(
$a as $key => $value
           
$this->properties[$key] = $value;

 
//....


No sé si hablas de algo así, un saludo
}
}
  #4 (permalink)  
Antiguo 28/09/2010, 15:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 152
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: empezando a programar oo en php

Gracias a todos por su respuestas, todo aporte es bueno.
repara2 entiendo q no me explique bien, pero lo que dices es algo de lo que quiero hacer, claro si es que se podia, declarar una variable de tipo public para luego declara variables de ese tipo y no estar colocandolas publicas;
Ejemplo:
public $oDp;

y luego en otro lado decir
$oDp nuevaVariable;
y lo tro a lo que me referia:

Cita:
Iniciado por jen26 Ver Mensaje
ensi lo que quiero es una clase donde tenga todas mis variables globales dentro de una variable y cdo la necesite yo llamo es a la variable que he creado y no ha la variable de PHP.
es algo asi:

$consulta=mysql_query;
$fila=mysql_fetch_assoc;

esto en las clases creo que si se puede hacer de hecho para esto es que se deben utilizar, asi cada vez que haga una consulta o necesite obtener una fila no debo estar escribiendo la funcion sino que con la variable ya esta listo, al igual que tener diferente variables globales de php dentro de nuevas variable. Espero que ahora me entiendan mejor pero siempre muy agradecida por las respuestas
  #5 (permalink)  
Antiguo 30/09/2010, 05:03
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: empezando a programar oo en php

Un comentario, este código

Código PHP:
$consulta=mysql_query;
$fila=mysql_fetch_assoc
no tiene sentido y te dará error, incluso si haces esto:

Código PHP:
$consulta mysql_query($sql);
$fila mysql_fetch_assoc($consulta); 
$consulta tiene un puntero a la consulta pero sólo tiene validez cada vez que se invoca. En principio no puedes declarar la variable $consulta de tipo mysql_query y llamarla cuando quieras.
En cambio, ya que estás con objetos, declaras un método que devuelva una mysql_query(), entonces, cada vez que necesitas una query haces esto:

Código PHP:
$mivariable $objeto->query($sql); 
El método query de $objeto hace esto:

Código PHP:
private function query($sql){
return 
mysql_query($sql);


COmo alternativa, declara una clase abstracta para este tipo de operaciones. A ver si sirve, saludos
  #6 (permalink)  
Antiguo 30/09/2010, 09:33
 
Fecha de Ingreso: marzo-2010
Mensajes: 152
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: empezando a programar oo en php

Buscando y buscando por allí me conseguí a espabiblio es un sistema de biblioteca totalmente libre lo descargué para ver como realizan su clase de conexion, de verdad es muy bueno pero hay algunas cosas del código que no entiendo, por ejelplo todavia no sé que significa en php los dos ptos :, voy a dejar parte de la clase para ver si me ayudan a detallarla :)

Esto es parte del código de su clase Query y bueno cuando hablo de los dos ptos me refiero a esto list($this->_link, $e) = Query::_connect_e();. no se para que se pueden utilizar los : en PHP

Código PHP:
Ver original
  1. <?php
  2. $_Query_lock_depth = 0;
  3.  
  4. class Query {
  5.   var $_link;
  6.  
  7.   function Query() {
  8.     $e = $this->connect_e();
  9.     if ($e) {
  10.       Fatal::dbError($e->sql, $e->msg, $e->dberror);
  11.     }
  12.   }
  13.   function connect_e() {
  14.     list($this->_link, $e) = Query::_connect_e();
  15.     return $e;
  16.   }
  17.   function _connect_e() {
  18.     static $link;
  19.     if (!isset($link)) {
  20.       if (!function_exists('mysql_connect')) {
  21.         return array(NULL, new DbError("Checking for MySQL Extension...",
  22.                            "Unable to connect to database.",
  23.                            "The MySQL extension is not available"));
  24.       }
  25.       $link = mysql_connect(OBIB_HOST,OBIB_USERNAME,OBIB_PWD);
  26.       if (!$link) {
  27.         return array(NULL, new DbError("Connecting to database server...",
  28.                                        "Cannot connect to database server.",
  29.                                        mysql_error()));
  30.       }
  31.       $rc = mysql_select_db(OBIB_DATABASE, $link);
  32.       if (!$rc) {
  33.         return array(NULL, new DbError("Selecting database...",
  34.                                        "Cannot select database.",
  35.                                        mysql_error($link)));
  36.       }
  37.     }
  38.     return array($link, NULL);
  39.   }
  40. ?>
  #7 (permalink)  
Antiguo 30/09/2010, 10:01
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 4 meses
Puntos: 65
Respuesta: empezando a programar oo en php

yo también estoy empezando con OOP, te recomiendo aprender UML te ayuda a comprender mejor
  #8 (permalink)  
Antiguo 30/09/2010, 16:00
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: empezando a programar oo en php

bueno es bueno que busques referencias ak te dejo lo que dice el manual se llama operador de ambito revisa y ve para que sirve y bueno documentandote y practicando aprendes, seria bueno que fueras haciendo tus clases y vayas mejorando a medida que vayas estudiando te lo digo por experiencia ya que estoy tambien empezando con la OOP lo que se practica se aprende saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: empezando, programación
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 06:57.