Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

static function

Estas en el tema de static function en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos dias. Estaba leyendo un tutorial en donde explican muy bien como implementar metodos y propiedades estaticas. Pero mi duda no surgio como implementarlas sino ...
  #1 (permalink)  
Antiguo 05/05/2009, 07:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 40
Antigüedad: 17 años, 1 mes
Puntos: 0
static function

Buenos dias.

Estaba leyendo un tutorial en donde explican muy bien como implementar metodos y propiedades estaticas.

Pero mi duda no surgio como implementarlas sino cuando implementarlas.

En el ambito laboral he tenido poca posibilidades de trabajar php orientado a objetos pues siempre he trabajado en proyectos ya iniciados por otras personas.

Dentro de poco voy a empezar un proyecto desde cero y es la oportunidad perfecta para implementar POO y me gustaria saber en que momentos es bueno utilizar este tipo de metodos y propiedades.

gracias por su asesoria.


este es el tutorial que estaba viendo:

w w w .php-es.com/language.oop5.static. h t m l
  #2 (permalink)  
Antiguo 05/05/2009, 07:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: static function

Los métodos y propiedades estaticas son utiles cuando no necesitas instanciar toda una clase para procesar algo, por decir cuando usas el patron Singleton, usas una funcion estatica:

Class::getSingleton();

O si quieres tener una variable que sea estatica (el mismo valor) entre todas las instancias que crees de la clase.

Saludos.
  #3 (permalink)  
Antiguo 05/05/2009, 09:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 40
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: static function

Ok, muchas gracias...voy a indagar respecto a Singleton y sus usos comunes.
  #4 (permalink)  
Antiguo 05/05/2009, 09:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: static function

No esta limitado a Singleton hay muchos usos, solo era un ejemplo y el uso correcto depende del diseño de tu clase, por ejemplo si es una clase que se encarga de hacer consultas a la base de datos y quieres que todas esas clases usen una contraseña, usuario y bdd por defecto se las pasas por un valor estatico a la clase:

Manejador::setDefaultUserPasswordDb($user, $pass, $db);

Y desde tu clase manejador lees las variables estaticas por cada instancia, por ejemplo:
Código php:
Ver original
  1. class Manejador {
  2.       private static $_user;
  3.       private static $_pass;
  4.       private static $_db;
  5.  
  6.       private $_dbLink;
  7.  
  8.       public static function setDefaultUserPasswordDb( $user, $pass, $db ) {
  9.              self::$_user = $user;
  10.              self::$_pass = $pass;
  11.              self::$_db = $db;
  12.       }
  13.  
  14.       public function __construct($user = '', $pass = '', $db = '') {
  15.              if( empty( $user ) && empty( $pass ) && empty( $db ) ) {
  16.                     $this->_dbLink = new DBLink( self::$_user, self::$_pass, self::$_db );
  17.              } else {
  18.                     $this->_dbLink = new DBLink( $user, $pass, $db );
  19.              }
  20.       }
  21. }

Saludos.
  #5 (permalink)  
Antiguo 06/05/2009, 15:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 40
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: static function

Bueno, para continuar con el foro y para las personas a las cuales les surga una duda similar a la mia aki les dejo un link en el cual realizan una comparacion de rendimiento a la hora de utilizar metodos estaticos.

w w w .mauriciocuenca.com/blog/2008/04/el-beneficio-de-los-metodos-estaticos-en-php/#comment-202


Bueno y a nivel personal analizando en que casos podria utilizarlos, seria cuando quiero acceder a una funcion que no requiera propiedades de la clase para poder trabajar y de esa forma evitar tener que instanciar la clase y poder acceder a los metodos directamente
¿Estoy bien o estoy mal?
  #6 (permalink)  
Antiguo 06/05/2009, 16:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: static function

En efecto, por eso te comentaba cada una tiene sus casos de uso, y sus beneficios / contras.

Saludos.
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 02:30.