1. Go to this page and download the library: Download samson/dataview-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
samson / dataview-bundle example snippets
// class
class SampleDataView extends AbstractType
{
public function getName()
{
return 'sample';
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name_of_key', 'type_of_key', array('property_path' => 'optionalPath', /** other options */))
->add('children', 'collection', array('type' => new ChildDataView())
;
$builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $e) {
$e->getForm()->add('new_key', 'type_of_key', array('mapped' => false, 'data' => $e->getData()->getSomeCustomData());
}
// or you can use this convenience method:
$builder->addFixed('new_key', 'type_of_key', function($data) { return $data->getSomeCustomData(); });
}
}
// use
$view = $container->get('samson.dataview.factory')->create(new SampleDataView(), $sample);
$data = $view->createView()->getData();
// $data is now something like:
// array( 'name_of_key' => 'value_of_$entity->getOptionalPath()', 'children' => array(array(), array(), array(), 'etc' ), 'new_key' => 'value_of_$entity->getSomeCustomData()' );
class SampleDataView extends AbstractType
{
public function getName()
{
return 'sample';
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name_of_key')
->add('children')
;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.