Constructor Exceptions

Get y Set


Función get:
public function get($attribute)

Esta función es muy sencilla nos permite obtener el valor de alguno de los atributos del objeto (se recomienda usar solo con atributos y no con componentes o con auxiliares) - recibe un solo parámetro que es el atributo que queremos obtener.

Función set:
public function set($attribute,$value)

Esta función nos permite modificar el valor de alguno de los atributos del objeto - recibe 2 parámetros el atributo que se desea modificar, y el valor que se le desea asignar.

Por ejemplo:
- Creamos el controlador example_class_get_set.php en la ruta work/example_class_get_set.php con la siguiente información:

<?php

require('configs/include.php');

class 
c_example_class_get_set extends super_controller {

    public function 
display()
    {
        
$data->document="1001";
        
$data->name="Andrew";
        
$data->lastname="Manchester";
        
$data->age=9;

        
$person= new person($data);
        
        
$this->engine->assign('person',$person);
        
$this->engine->assign('title','Class Get Set');
        
$this->engine->display('header.tpl');
        
$this->engine->display('example_class_get_set.tpl');
        
$this->engine->display('footer.tpl');
        
        
/*echo $person->get('name');
        //echo $person->name; FATAL ERROR Because name is protected
        $person->set('name','Daniel');
        echo $person->get('name');*/
    
}
    
    public function 
run()
    {
        
$this->display();
    }
}

$call = new c_example_class_get_set();
$call->run();

?>

- Creamos el template example_class_get_set.tpl en la ruta: work/templates/t_dark/example_class_get_set.tpl con lo siguiente:

<div class="square">
<b>Name:</b> {$person->get('name')}<br />
{$person->set('name','Luis')}
<b>Name Changed:</b> {$person->get('name')}<br />
<b>LastName:</b> {$person->get('lastname')}<br />
<b>Document:</b> {$person->get('document')}<br />
<b>Age:</b> {$person->get('age')}<br />
</div>

Luego ingresando desde el navegador a work/example_class_get_set.php podemos ver el funcionamiento.

Notas:
  1. Podemos ver en el codigo unas lineas comentadas, podemos quitarle los comentarios para ver como seria el funcionamiento de las funciones get y set desde el controlador.
  2. El objeto estándar cuenta con la función set_attributes(), que asigna varios atributos de una sola vez, pero esta función es por lo general llamada directamente por el constructor tal como se vio en el ejemplo del tutorial anterior en el cual no hubo necesidad de hacer set a cada atributo.
Constructor Exceptions