__get y __set en php – Funciones magicas

Bueno hoy leyendo algunos bolgs y grupos de internet he encontrado este articulo que me parecio de lo mas interesante ya que yo no soy de aquellos que me guste estar escribiendo los metodos set y get por cada atributo privado que posea una clase imaginense si tomamos que se tiene que generar una clase por cada tabla que tenenemos en nuestra base de datos y por cada campo de cada tabla sde tiene que hacer los dos metodos SET y GET pues hay tenemos un gran problema (el mayor de aburrimiento) ya que es una tarea repetitiva pero que es necesaria.

PHP 5 trae las funciones __set y __get que perimten con solo ponerlas ya por defecto crea los set i gets basicos de cada atributo asi podramos acceder a la manera de .net a nuestras propiedades de la clase:

class prueba
{
private $att1;
private $att2;
private function __set()
{}
private function __get()
{
}

}

Bueno esto es lo super basico pero asi funciona cundo creamos una instancia de la clase podemos usar estos metodos llamando automaticamente asi:
$mio = new prueba();
$mio->att1=”valor del atributo”;

Claro esta que si ponemos codigo de validacion en los metodos __get __set pues este se ejecutara cuando se aginen valoes o se saquen valores de la instancia de la clase. en el sgte. blog hay un ejemplo mucho mas avanzado que este http://blog.txurdi.net/tag/php5-magic-__set-__get-oo-objetos/

Acerca de

Antes que nada voy a dejar en claro algo, en este blog escribo como se me place, asi que no busquen errores de ortografia o de redaccion que los van a encontrar a montones y tampoco me critiquen o me digan nada sobre ellos pues no tengo intencion alguna de cambiarlos, lo que escribo lo dejo asi y no lo corrijo,claro esta a menos que sean lineas de codigo. Jorge Prado Anci, profesional en desarrollo de aplicaciones, en especial las dirigidas a bases de datos. He trabajado con VFP en casi todas sus versiones, se algo de Java (que no me gusta, es eso solo no me gusta, es bueno pero no me gusta), lo suficiente de PHP como para tener mi propio CMS(es que sigue sin gustarme por la capacidad de desorden que te permite este “lenguaje”), VB lo conoci y lo deteste tanto que lo olvide al punto de no querer adoptar ni por obligacion a su reemplazante VB .NET (por lo mismo de Java) y si C# este si me encanta y aun que conozco bastante bien el lenguaje, la verdad es que me falta mucho del Framework (del 100% estare en un 65%). Soy un apasionado por el orden (en los proyectos de desarrollo), de la programacion en capas (de MVC conozco pero no he aplicado mucho), los estandares y las condenadas pruebas unitaria. Venga creo que ya con esto fue suficiente.

Publicado en php
7 comments on “__get y __set en php – Funciones magicas
  1. Hola, que pena, pribado es con “V” -> privado. Gracias por el post😉

  2. Fernando Secchi dice:

    Bueno, si se pueden hacer correcciones al código es private function.
    Un saludo.

  3. Anox dice:

    SI no deseas mejorar algo tan simple como la ortografía, como piensas explicar de programación.

    • xmeele dice:

      No intento explicar programación en ninguno de los sentidos, yo pongo lo que se y como se me ocurre que debo ponerlo, para mi la ortografía es algo tan inutil como responderle a un ser que nisiquiera se identifica y se esconde bajo un alias cualquiera y para quitar las confusiones voy a poner de subtitulo: “Cosas de desarrollo de software y algunas ideas no tan sensatas, escritas para mi.” y a ver si aprenden a leer y dejan de decir tanta tontería sobre mi ortografía de una vez y para siempre ya que lo escribo para mi, para usarlo como una memoria externa, no para los que leen, a mi me da igual si nadie ve mi blog yo lo escribo a manera de ayuda memoria mía y si aprenden algo pues bien y si no lo hacen pues bien, son mis ayudas memoria, no están hechas para que los demás aprendan.

  4. Anox dice:

    Una duda, porq no colocaste el error de php, los metodos privados no son visibles, aprenda a desarrollar y a escribir.

    • xmeele dice:

      La verdad no se a que error te refieres pues es correcto según la teoría de objetos que todos los métodos o propiedades privadas sean invisibles para otros objetos, pero te repito no se a que error te refieres y si no lo he puesto es porque no lo sabía y si haz leido el post es solo un reblog o repost de otro, ahora tengo una cuestión sabes que he desarrollado?, sabes para quien trabajo y si mis empleadores están disconformes de mi trabajo? o eres solamente un ignorante que habla sin saber.

    • xmeele dice:

      Una cosa más dígale eso a los 282 seguidores que tengo en el blog que no les interesa un comino si escribo bien o mal, dígales eso a los 20 mil comentarios de agradecimiento que tengo, a las casi 200 mil personas que han leído mi blog o a las 300 personas (promedio) que leen mi blog cada día y a los casi 2mil lectores que he ayudado con mis respuestas en este mismo blog y esto que lo reviso una vez al mes.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 441 seguidores

Blog Stats
  • 303,829 hits
A %d blogueros les gusta esto: