Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22359

Re: estrarre proprieta dinamiche (non dichiarate) da una classe

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: estrarre proprieta dinamiche (non dichiarate) da una classe
Date 2018-11-24 09:05 +0000
Message-ID <g5siidFlg5vU1@mid.individual.net> (permalink)
References <pt8haf$to9$1@gioia.aioe.org>

Show all headers | View raw


On 23/11/2018 09:29, alex wrote:

> $ cat test.php
> <?php
> class Abc {
>      public $a;
>      public $b;
> }
> 
> $c = new Abc;
> $c->a = 1;
> $c->b = 2;
> $c->c = 3;// non dichiarata (assegnazione dinamica)
> 
> $refl = new ReflectionClass($c);

> Come vedete la proprietà *c* non compare perchè non è dichiarata 
> esplicitamente (è stata solo assegnata dinamicamente).
> C'è un modo per estrarre le proprietà dinamiche?

ReflectionClass fa la reflection della class, mentre `c` è una proprietà
dell'oggetto, non della classe.

Non credo ci sia un modo per avere le proprietà non dichiarate, ma se
non sbaglio foreach ti permette di ottenere tutte le proprietà, quindi
ti basta mettere il risultato di getProperties in un array, costruirne
un altro con foreach e fare la differenza (o usare array_filter)

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

estrarre proprieta dinamiche (non dichiarate) da una classe alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-23 10:29 +0100
  Re: estrarre proprieta dinamiche (non dichiarate) da una classe Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-24 09:05 +0000
    Re: estrarre proprieta dinamiche (non dichiarate) da una classe alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-24 12:58 +0100

csiph-web