Welcome to the Cookbook

loading...

3.6.4.3 Usando Componentes en tu Componente

El texto original ha cambiado despues que la traduccion. Por favor ayundanos a reslover este differencia. Puedes:

Mas info sobre traduciones

A veces uno de tus componentes puede depender de otro. Si las funcionalidades que estos componentes proveen no están relacionados, excepto por su dependencia el uno del otro, entonces no querrás ponerlos dentro de un solo componente.

En cambio puedes hacer que tu componente sea un "Padre" e indicarle con el array $components la lista de sus "Hijos". Los componentes padres se cargan antes que sus componentes hijos, y cada componente hijo tiene acceso a su padre.

Declaración del padre:

<?php
class PadreComponent extends Object {
    var $name = "Padre";
    var $components = array( "Hijo" );

    function initialize(&$controller) {
        $this->Hijo->foo();
    }

    function bar() {
        // ...
    }
}
  1. <?php
  2. class PadreComponent extends Object {
  3. var $name = "Padre";
  4. var $components = array( "Hijo" );
  5. function initialize(&$controller) {
  6. $this->Hijo->foo();
  7. }
  8. function bar() {
  9. // ...
  10. }
  11. }

Declaración del hijo:

<?php
class HijoComponent extends Object {
    var $name = "Hijo";

    function initialize(&$controller) {
        $this->Padre->bar();
    }

    function foo() {
        // ...
    }
}
  1. <?php
  2. class HijoComponent extends Object {
  3. var $name = "Hijo";
  4. function initialize(&$controller) {
  5. $this->Padre->bar();
  6. }
  7. function foo() {
  8. // ...
  9. }
  10. }