PHP code example of freezy-bee / doctrine-form-mapper
1. Go to this page and download the library: Download freezy-bee/doctrine-form-mapper 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/ */
freezy-bee / doctrine-form-mapper example snippets
use FreezyBee\DoctrineFormMapper\DoctrineFormMapper;
use FreezyBee\DoctrineFormMapper\IComponentMapper;
class XPresenter extends Presenter
{
/** @var DoctrineFormMapper @inject */
public $mapper;
/** @var EntityRepository @inject */
public $articlesRepository;
protected function createComponentForm()
{
$form = new Form;
// Column
$form->addText('name');
// ManyToOne
$form->addSelect('author')
// order items
->setOption(IComponentMapper::ITEMS_ORDER, ['age' => 'ASC'])
// filter items
->setOption(IComponentMapper::ITEMS_FILTER, ['age' => 0])
// filter items by callback
->setOption(IComponentMapper::ITEMS_FILTER, function(QueryBuilder $qb) {
$qb->andWhere('entity.age != 0')
})
// custom select label renderer
->setOption(IComponentMapper::ITEMS_TITLE, function (Author $author) {
return $author->getName() . ' - ' . $author->getAge();
});
// ManyToOne
$form->addRadioList('tags')
->setOption(IComponentMapper::ITEMS_TITLE, 'name');
// ManyToMany
$form->addMultiSelect('users')
->setOption(IComponentMapper::ITEMS_TITLE, 'username');
// ManyToMany
// btw you can define items and then ITEMS_TITLE is not