elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Preguntas sobre PHP.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Preguntas sobre PHP.  (Leído 2,333 veces)
. . .

Desconectado Desconectado

Mensajes: 68


Ver Perfil
Preguntas sobre PHP.
« en: 28 Enero 2010, 01:52 am »

Desearia que alquien me ayude con algunas dudas:

1) Sobre __construct
Código
  1. <?
  2. class Conexion
  3. {
  4. //Declaracion de variables
  5. private $_CONEXION;
  6.  
  7. //metodo constructor
  8. function __construct()
  9. {
  10. $conex = array('localhost','root','root','web');
  11. $this->_CONEXION = mysql_connect($conex[0],$conex[1],$conex[2]);
  12. mysql_select_db($conex[3],$this->_CONEXION);
  13. }
  14. }
  15. ?>

El constructor solo se ejecutara cuando instancie la clase conexion, que sucede si la clase conexion extiende a una clase personal (habra error porque el constructor no se ha ejecutado). ¿Como corregir esto?

2) Sobre active record

Lei por internet y me tope con esto:

Código
  1. $post = new Post();
  2. $post->title = 'My first blog post!!';
  3. $post->author_id = 5;
  4. $post->save();

y tambien

Código
  1. $post = new Post();
  2. $post->find(5);
  3. echo $post->title;
  4. echo $post->author_id = 5;

Entonces en active record usan la misma forma tanto para recuperar como para asignar un valor a un campo de una clase (que representa a la tabla). En .NET esto se podria hacer de la siguiente forma.

Código
  1.    Public Property title() As String
  2.        Get
  3.                return _titulo
  4.        End Get
  5.        Set(ByVal value As Integer)
  6.                _titulo = value
  7.        End Set
  8.    End Property

De esa forma se puede tanto asignar como recuperar un valor, sin embargo como se hace eso en PHP. Yo se que para recuperar se puede hacer de la siguiente forma:

Código
  1. public function title()
  2. {
  3. return $this->_title;
  4. }

Sin embargo para asignar se tiene que enviar un valor

Código
  1. public function title($titulo)
  2. {
  3. $this->_title = $titulo;
  4. }

La pregunta es: como hacer para que en php pueda asignar y recuperar un valor en un solo metodo (como se hace en .NET)

Gracias.

EDITO: Al parecer el uso de Setters y Getters aumenta la velocidad de la aplicacion. Source


« Última modificación: 28 Enero 2010, 02:06 am por Taoutew » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Preguntas sobre PHP.
« Respuesta #1 en: 28 Enero 2010, 02:17 am »

title es un solo metodo... polimorfico :P usa ambos y funcionaran ;)


En línea

Ojo por ojo, y el mundo acabará ciego.
. . .

Desconectado Desconectado

Mensajes: 68


Ver Perfil
Re: Preguntas sobre PHP.
« Respuesta #2 en: 28 Enero 2010, 02:25 am »

La solucion a mi segundo problema es esta:

Código
  1. class Bar{
  2.  
  3.    private $name;
  4.    private $age;
  5.  
  6.    public function __set($var, $val){
  7.        $this->$var = $val;
  8.    }
  9.  
  10.    public function __get($var){
  11.        return $this->$var;
  12.    }
  13.  
  14. }

Y asi se usa:

Código
  1. $bar = new Bar();
  2. $bar->name = "Dougal";
  3. $bar->age = 10;
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Les molestaría si hiciera preguntas sobre codes que pongan?
Sugerencias y dudas sobre el Foro
Tachikomaia 4 6,264 Último mensaje 3 Febrero 2023, 04:47 am
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines