ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Usando Getters Y Setters YII


Enviado por   •  8 de Septiembre de 2013  •  1.638 Palabras (7 Páginas)  •  348 Visitas

Página 1 de 7

Capítulo I

- Uso getters y setters

- Uso de eventos Yii

- Utilización de la importación y carga automática

- Con excepciones

- Configuración de componentes

-Configuración por defecto del widget

- Uso Yii colecciones núcleo

- Trabajar con solicitud

Usando getters y setters

Yii tiene muchas características que vienen de otros lenguajes, como Java o C #. Uno de ellos es la definición de propiedades con getters y setters para cualquiera clase Heredada (extendida) del CComponente (esto es, virtualmente cualquier clase Yii).

A partir de esta receta, aprenderá a definir sus propias propiedades con getters y setters, cómo hacer que sus propiedades de sólo lectura, y la forma de ocultar detrás de un tratamiento personalizado nativo PHP asignaciones.

How to do it...

1. Como PHP no tiene propiedades a nivel del lenguaje, sólo podemos usar getters y setters en la forma siguiente:

class MyClass

{

// $property oculta

private $property;

// getter

public function getProperty()

{

return $this->property;

}

// setter

public function setProperty($value)

{

$this->property = $value;

}

}

$object = new MyClass();

// setting value

$object->setProperty('value');

// getting value

echo $object->getProperty();

2. Esta sintaxis es muy común en el mundo Java, pero es un poco largo para utilizar en PHP. Aún así, no desea utilizar la misma funcionalidad que C # y las propiedades que nos da: llamando getters y setters con miembros de la clase. Con Yii, podemos hacerlo de la siguiente manera:

// Heredando CComponent es necesario

class MyClass extends CComponent

{

private $property;

public function getProperty()

{

return $this->property;

}

public function setProperty($value)

{

$this->property = $value;

}

}

$object = new MyClass();

$object->property = 'value'; // mismo como $object->

setProperty('value');

echo $object->property; // mismo como $object->getProperty();

3. Usando estas características, puede hacer que las propiedades de sólo lectura o sólo escritura, manteniendo la sintaxis PHP simple como sigue:

class MyClass extends CComponent

{

private $read = 'read only property';

private $write = 'write only property';

public function getRead()

{

return $this->read;

}

public function setWrite($value)

{

$this->write = $value;

}

}

$object = new MyClass();

// Nos da un error, ya que estamos tratando de escribir una propiedad de sólo lectura

property

$object->read = 'value';

// echoes 'read only property'

echo $object->read;

// nos da un error, ya que estamos tratando de leer una propiedad de sólo escritura

echo $object->write;

// writes 'value' to private $write

$object->write = 'value';

4. Yii utiliza esta técnica extensamente porque casi todo es un componente. Por ejemplo, cuando llamamos Yii :: app () -> User-> Id para obtener el Id del usuario logeado, lo que realmente llamamos es Yii :: app () -> getUser () -> getId (). (::operador de resolución ámbito).

How it works...

Para usar getters y setters como propiedades, CComponent usamos el método mágico de PHP:

___ set, __ isset y __ unset (http://php.net/manual/en/language.oop5. magic.php).

El siguiente ejemplo muestra lo Yii 1.1 CComponente:: __get como aparece:

public function __get($name)

{

$getter='get'.$name;

if(method_exists($this,$getter))

return $this->$getter();

Esta magia de PHP intercepta todas las llamadas del método a falta de propiedades reales, así que cuando llamamos $myClase-> propiedad, recibe propiedad como un parámetro $name. Si un método llamado getProperty existe, entonces PHP utiliza su valor de retorno como un valor de propiedad.

Usando Eventos Yii

La mayoría de las clases Yii se heredan (extend)

...

Descargar como (para miembros actualizados)  txt (12.4 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com