Archivo de la categoría: Symfony

Symfony Validation Cheat Sheet

Validaciones en propiedades de una entidad

STRING:

http://symfony.com/doc/current/reference/constraints.html#string-constraints

/**
* @var string
*
* @ORM\Column(name="nombre", type="string", length=100)
* @Assert\NotBlank()
* @Assert\Length(min = 2, max = 100)
* @Assert\Type(type="string")
*/

INTEGER:

http://symfony.com/doc/current/reference/constraints/Type.html

/**
* @var int
*
* @ORM\Column(name="estado", type="integer")
* @Assert\Type(type="int")
* @Assert\Range(min = 120, max = 180)
*/

NUMERIC:

http://symfony.com/doc/current/reference/constraints/Type.html

/**
* @var string
*
* @Assert\Type(type="numeric")
*/

FLOAT:

http://symfony.com/doc/current/reference/constraints/Type.html

/**
* @var float
*
* @Assert\GreaterThan(value = 0)
* @Assert\Type(type="float")
*/

UNIQUE ENTITY:

use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity
 * @UniqueEntity("email")
 */

/**
 * @var string $email
 *
 * @ORM\Column(name="email", type="string", length=100, unique=true)
 * @Assert\Email()
 */

Symfony Forms Cheat Sheet

Campos de formulario:

ChoiceType

Checkboxes

SF3:

use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
//..
->add('activo', ChoiceType::class, array(
    'choices' => array(
        'Si' => 0,
        'No' => 1,
    ),
    'expanded' => true,
    'multiple' => true
))

Ocultar un select en campo de fecha

{{ form_widget(form.fechaHasta.day, {'attr': {'class': 'hide'}}) }}

Cheat Sheet Twig

Enlazar script Java Script (también sirve para imágenes, css, etc).

<script type="text/javascript" src="{{ asset('bundles/acmeproduct/js/script.js') }}"></script>
<script type="text/javascript" src="{{ absolute_url(asset('bundles/acmeproduct/js/script.js')) }}"></script>

Generar URL

<a href="{{ path('nombre_ruta', { 'id': e.getId() }) }}" ></a>
<a href="{{ url('nombre_ruta', { 'id': e.getId() }) }}" ></a> 

Generar URL absoluta

<a href="{{ absolute_url(path('nombre_ruta', { 'id': e.getId() })) }}" ></a> //SF 2.7+ 

Renderizar un método de un controlador mediante una URL

{{ render(path('ruta_al_metodo')) }}