Re: Variable Scope from child to parent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tyson

i never saw
self::$this->vkeys
doing this you actually are callig the var inside $this->vkeys


do  self::$vkeys as static or $this->vkeys as object don't mix


regards

On Wed, May 14, 2008 at 7:33 PM, Tyson Vanover <tvanover@xxxxxxx> wrote:
> I am trying to get a child class to pass an array of valid keys to it's
> parent when the constructor is run, and the parent appends the data to one
> of it's array of valid keys.  Then it walks through an array pulling out
> values that have valid keys, and putting them in an array for processing
> later.  I have tried explicitly stating the variable scope.
>
> abstract class parentclass
> {
>  protected $vkeys= array('title1','title2','title3');
>  protected $a;
>
>  function __construct($set = NULL, $special = NULL)
>  {
>    self::$this->vkeys= array_merge(self::$this->vkeys, $special);
>    foreach($set as $key=>$value)
>    {
>      if (in_array($key,self::$this->vkeys))
>      {
>        $this->a[$key] = $value;
>      }
>    }
>    print_r(self::$this->vkeys);  //output below
>    print_r(self::$this->a);  //output below
>  }
> }
>
> class childclass extends parentclass
> {
>  protected $vkeys= array('titleA', 'titleB', 'TitleC');
>
>  function __construct($set, $special = NULL)
>  {
>    parent::__construct($set, self::$this->vkeys);
>    unset(self::$this->vkeys);
>  }
> }
>
> Unfortunately it seems to duplicate the child's array instead of appending.
>  Explicitly stating scope does not seem to help.
>
>
> print_r(self::$this->vkeys);
> Array (
>  [0] => titleA
>  [1] => titleB
>  [2] => titleB
>  [3] => titleA
>  [4] => titleB
>  [5] => titleB
> )
>
> print_r(self::$this->a);
> Array()
>
> Any thoughts?
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



-- 
Los sabios buscan la sabiduría; los necios creen haberla encontrado.
Gabriel Sosa

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux