/** * Gets the properties from a reflection property of the object. * * @param array $refProps * The list of the reflection properties. * @param \ReflectionClass $ref * The reflection of the object we are currently analysing. * @param object $data * The object we are currently analysing. * @param string $label * The additional part of the template file. * * @return string * The generated markup. */ protected function getReflectionPropertiesData(array $refProps, \ReflectionClass $ref, $data, $label) { // We are dumping public properties direct into the main-level, without // any "abstraction level", because they can be accessed directly. $model = new Model($this->storage); $model->addParameter('data', $refProps)->addParameter('ref', $ref)->addParameter('orgObject', $data)->initCallback('Iterate\\ThroughProperties'); if (strpos(strtoupper($label), 'PUBLIC') === false) { // Protected or private properties. $model->setName($label)->setType('class internals'); return $this->storage->render->renderExpandableChild($model); } else { // Public properties. // We render them directly in the object "root", so we call // the render directly. // $model->setAdditional($label); return $model->renderMe(); } }