diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000000..c091839860d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,50 @@
+# Compiled source #
+###################
+*.com
+*.class
+*.dll
+*.exe
+*.o
+*.so
+*.pyc
+
+# Numerous always-ignore extensions
+###################
+*.diff
+*.err
+*.orig
+*.log
+*.rej
+*.swo
+*.swp
+*.vi
+*~
+
+*.sass-cache
+# Folders to ignore
+###################
+.hg
+.svn
+.CVS
+# OS or Editor folders
+###################
+.DS_Store
+Icon?
+Thumbs.db
+ehthumbs.db
+nbproject
+.cache
+.project
+.settings
+.tmproj
+*.esproj
+*.sublime-project
+*.sublime-workspace
+# Dreamweaver added files
+###################
+_notes
+dwsync.xml
+# Komodo
+###################
+*.komodoproject
+.komodotools
diff --git a/book/controller.rst b/book/controller.rst
index 637d6899b87..2a6626f9ad2 100644
--- a/book/controller.rst
+++ b/book/controller.rst
@@ -420,7 +420,7 @@ object is the end-product of the internal sub-request::
));
// further modify the response or return it directly
-
+
return $response;
}
@@ -449,7 +449,7 @@ value to each variable.
a shortcut for core Symfony2 functionality. A forward can be accomplished
directly via the ``http_kernel`` service. A forward returns a ``Response``
object::
-
+
$httpKernel = $this->container->get('http_kernel');
$response = $httpKernel->forward('AcmeHelloBundle:Hello:fancy', array(
'name' => $name,
@@ -488,7 +488,7 @@ The Symfony templating engine is explained in great detail in the
The ``renderView`` method is a shortcut to direct use of the ``templating``
service. The ``templating`` service can also be used directly::
-
+
$templating = $this->get('templating');
$content = $templating->render('AcmeHelloBundle:Hello:index.html.twig', array('name' => $name));
@@ -604,12 +604,12 @@ Let's show an example where we're processing a form submit::
{
if ('POST' === $this->get('request')->getMethod()) {
// do some sort of processing
-
+
$this->get('session')->setFlash('notice', 'Your changes were saved!');
return new RedirectResponse($this->generateUrl(...));
}
-
+
return $this->render(...);
}
@@ -628,7 +628,7 @@ could be used to render the message:
{% endif %}
.. code-block:: php
-
+
hasFlash('notice') ?>
getFlash('notice') ?>
@@ -652,7 +652,7 @@ headers and content that's sent back to the client::
// create a simple Response with a 200 status code (the default)
$response = new Response('Hello '.$name, 200);
-
+
// create a JSON-response with a 200 status code
$response = new Response(json_encode(array('name' => $name)));
$response->headers->set('Content-Type', 'application/json');
diff --git a/book/doctrine/dbal.rst b/book/doctrine/dbal.rst
index bd6a6c867e7..15093b9c1bc 100644
--- a/book/doctrine/dbal.rst
+++ b/book/doctrine/dbal.rst
@@ -167,7 +167,7 @@ be added to all configured connections.
.. code-block:: php
-
+
// app/config/config.php
$container->loadFromExtension('doctrine', array(
'dbal' => array(
diff --git a/book/doctrine/model.rst b/book/doctrine/model.rst
index 989af738afe..a328abdacce 100644
--- a/book/doctrine/model.rst
+++ b/book/doctrine/model.rst
@@ -42,42 +42,42 @@ model. If you're building a content management system, then you will
need a ``Page`` model.
.. code-block:: php
-
+
title = $title;
$this->body = $body;
$this->createdAt = new \DateTime();
}
-
+
public function setTitle($title)
{
$this->title = $title;
$this->updatedAt = new \DateTime();
}
-
+
public function setBody($body)
{
$this->body = $body;
$this->updatedAt = new \DateTime();
}
-
+
public function getTitle()
{
return $this->title;
}
-
+
public function getBody()
{
return $this->body;
diff --git a/book/forms.rst b/book/forms.rst
index 6b215a7ef37..60998182564 100644
--- a/book/forms.rst
+++ b/book/forms.rst
@@ -36,13 +36,13 @@ going to need to build a form. But before you begin, let's focus on the generic
// src/Acme/StoreBundle/Entity/Product.php
namespace Acme\StoreBundle\Entity;
-
+
class Product
{
public $name;
-
+
protected $price;
-
+
public function getPrice()
{
return $this->price;
@@ -59,9 +59,9 @@ going to need to build a form. But before you begin, let's focus on the generic
If you're coding along with this example, be sure to create and enable
the ``AcmeStoreBundle``. Run the following command and follow the on-screen
directions:
-
+
.. code-block:: text
-
+
php app/console init:bundle "Acme\StoreBundle" src/
This type of class is commonly called a "plain-old-PHP-object" because, so far,
@@ -141,17 +141,17 @@ helper functions:
.. code-block:: html+jinja
{# src/Acme/StoreBundle/Resources/views/Default/index.html.twig #}
-
+
.. code-block:: html+php
-
+
-
+
.. code-block:: html+php
-
+
-
+
{% endblock %}
-
+
{{ form_row(form.name) }}
Other Common Customizations
diff --git a/cookbook/security/voters.rst b/cookbook/security/voters.rst
index 599abd2a2d3..dc506a5b884 100644
--- a/cookbook/security/voters.rst
+++ b/cookbook/security/voters.rst
@@ -46,8 +46,8 @@ values:
* ``VoterInterface::ACCESS_DENIED``: The user is not allowed to access the application
In this example, we will check if the user's IP address matches against a list of
-blacklisted addresses. If the user's IP is blacklisted, we will return
-``VoterInterface::ACCESS_DENIED``, otherwise we will return
+blacklisted addresses. If the user's IP is blacklisted, we will return
+``VoterInterface::ACCESS_DENIED``, otherwise we will return
``VoterInterface::ACCESS_ABSTAIN`` as this voter's purpose is only to deny
access, not to grant access.
diff --git a/cookbook/symfony1.rst b/cookbook/symfony1.rst
index 15708e39058..7cace72012f 100644
--- a/cookbook/symfony1.rst
+++ b/cookbook/symfony1.rst
@@ -225,7 +225,7 @@ In Symfony2, the bundles are activated inside the application kernel::
// ...
new Acme\HelloBundle\AcmeHelloBundle(),
);
-
+
return $bundles;
}
diff --git a/cookbook/templating/PHP.rst b/cookbook/templating/PHP.rst
index ab54ca8590b..9d61a7ba57d 100644
--- a/cookbook/templating/PHP.rst
+++ b/cookbook/templating/PHP.rst
@@ -18,7 +18,7 @@ your application configuration file:
.. configuration-block::
.. code-block:: yaml
-
+
# app/config/config.yml
framework:
# ...
@@ -42,7 +42,7 @@ your application configuration file:
'templating' => array(
'engines' => array('twig', 'php'),
),
- ));
+ ));
You can now render a PHP template instead of a Twig one simply by using the
``.php`` extension in the template name instead of ``.twig``. The controller
diff --git a/glossary.rst b/glossary.rst
index e6cd820229e..aa84723531d 100644
--- a/glossary.rst
+++ b/glossary.rst
@@ -53,7 +53,7 @@ Glossary
an application. Instead of creating services directly, the developer
*trains* the service container (via configuration) on how to create
the services. The service container takes care of lazily instantiating
- and injecting dependent services. See :doc:`/book/service_container`
+ and injecting dependent services. See :doc:`/book/service_container`
chapter.
HTTP Specification
@@ -109,7 +109,7 @@ Glossary
application or for just a part of it. See the
:doc:`book/security/overview` chapters.
- YAML
+ YAML
*YAML* is a recursive acronym for "YAML Ain't a Markup Language". It's a
lightweight, humane data serialization language used extensively in
Symfony2's configuration files. See the :doc:`reference/YAML` reference
diff --git a/quick_tour/the_controller.rst b/quick_tour/the_controller.rst
index 2d5cf289bce..c460c1e8b3a 100644
--- a/quick_tour/the_controller.rst
+++ b/quick_tour/the_controller.rst
@@ -235,8 +235,8 @@ In this example, the resource will be cached for a day. But you can also use
validation instead of expiration or a combination of both if that fits your
needs better.
-Resource caching is managed by the Symfony2 built-in reverse proxy. But because
-caching is managed using regular HTTP cache headers, you can replace the
+Resource caching is managed by the Symfony2 built-in reverse proxy. But because
+caching is managed using regular HTTP cache headers, you can replace the
built-in reverse proxy with Varnish or Squid and easily scale your application.
.. note::
diff --git a/reference/constraints.rst b/reference/constraints.rst
index db01c247d8a..aabd2c5af08 100644
--- a/reference/constraints.rst
+++ b/reference/constraints.rst
@@ -27,7 +27,7 @@ Validation Constraints Reference
The Validator is designed to validate objects against *constraints*.
In real life, a constraint could be: "The cake must not be burned". In
-Symfony2, constraints are similar: They are assertions that a condition is
+Symfony2, constraints are similar: They are assertions that a condition is
true.
Supported Constraints
diff --git a/reference/constraints/Choice.rst b/reference/constraints/Choice.rst
index e3878ed4f10..960fb26f832 100644
--- a/reference/constraints/Choice.rst
+++ b/reference/constraints/Choice.rst
@@ -32,10 +32,10 @@ Available Options
* ``callback``: [type: string|array]
This is a static callback method that can be used instead of the ``choices``
option to return the choices array.
-
+
If you pass a string method name (e.g. ``getGenders``), that static method
will be called on the validated class.
-
+
If you pass an array (e.g. ``array('Util', 'getGenders')``), it follows
the normal callable syntax where the first argument is the class name
and the second argument is the method name.
@@ -119,11 +119,11 @@ as an array.
// src/Acme/HelloBundle/Author.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\Choice;
-
+
class Author
{
protected $gender;
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('gender', new Choice(
diff --git a/reference/constraints/Collection.rst b/reference/constraints/Collection.rst
index e6f115e89a6..34c84138695 100644
--- a/reference/constraints/Collection.rst
+++ b/reference/constraints/Collection.rst
@@ -29,8 +29,8 @@ Options
Example:
--------
-Let's validate an array with two indexes ``firstName`` and ``lastName``. The
-value of ``firstName`` must not be blank, while the value of ``lastName`` must
+Let's validate an array with two indexes ``firstName`` and ``lastName``. The
+value of ``firstName`` must not be blank, while the value of ``lastName`` must
not be blank with a minimum length of four characters. Furthermore, both keys
may not exist in the array.
@@ -96,11 +96,11 @@ may not exist in the array.
use Symfony\Component\Validator\Constraints\NotNull;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\MinLength;
-
+
class Author
{
private $options = array();
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('options', new Collection(array(
diff --git a/reference/constraints/File.rst b/reference/constraints/File.rst
index f202485fcaf..c4fd786c71a 100644
--- a/reference/constraints/File.rst
+++ b/reference/constraints/File.rst
@@ -68,11 +68,11 @@ not exceed a maximum size of 128 kilobytes and is a PDF document.
// src/Acme/HelloBundle/Author.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\File;
-
+
class Author
{
private $filename;
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('filename', new File(array(
diff --git a/reference/constraints/MaxLength.rst b/reference/constraints/MaxLength.rst
index 00eb4871799..f67ac586de6 100644
--- a/reference/constraints/MaxLength.rst
+++ b/reference/constraints/MaxLength.rst
@@ -37,7 +37,7 @@ Basic Usage
properties:
summary:
- MaxLength: 100
-
+
.. code-block:: xml
diff --git a/reference/constraints/MinLength.rst b/reference/constraints/MinLength.rst
index e0e3822cb3e..979134ac812 100644
--- a/reference/constraints/MinLength.rst
+++ b/reference/constraints/MinLength.rst
@@ -37,7 +37,7 @@ Basic Usage
properties:
firstName:
- MinLength: 3
-
+
.. code-block:: xml
diff --git a/reference/constraints/True.rst b/reference/constraints/True.rst
index 8d8ae61ef1e..a77f2ee2b64 100644
--- a/reference/constraints/True.rst
+++ b/reference/constraints/True.rst
@@ -77,11 +77,11 @@ Then you can constrain this method with ``True``.
// src/Acme/HelloBundle/Author.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\True;
-
+
class Author
{
protected $token;
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addGetterConstraint('tokenValid', new True(array(
diff --git a/reference/constraints/Type.rst b/reference/constraints/Type.rst
index fcbc669e1e0..09fb1805799 100644
--- a/reference/constraints/Type.rst
+++ b/reference/constraints/Type.rst
@@ -18,9 +18,9 @@ Options
* `array `_
* `bool `_
* `callable `_
- * `float `_
+ * `float `_
* `double `_
- * `int `_
+ * `int `_
* `integer `_
* `long `_
* `null `_
diff --git a/reference/constraints/Valid.rst b/reference/constraints/Valid.rst
index 9706030b68a..8f2b01d8a33 100644
--- a/reference/constraints/Valid.rst
+++ b/reference/constraints/Valid.rst
@@ -110,7 +110,7 @@ their properties. Furthermore, ``Author`` stores an ``Address`` instance in the
* @assert:NotBlank
*/
protected $lastName;
-
+
protected $address;
}
@@ -120,13 +120,13 @@ their properties. Furthermore, ``Author`` stores an ``Address`` instance in the
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\MaxLength;
-
+
class Address
{
protected $street;
protected $zipCode;
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('street', new NotBlank());
@@ -139,15 +139,15 @@ their properties. Furthermore, ``Author`` stores an ``Address`` instance in the
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\MinLength;
-
+
class Author
{
protected $firstName;
protected $lastName;
-
+
protected $address;
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('firstName', new NotBlank());
@@ -185,7 +185,7 @@ invalid address. To prevent that, we add the ``Valid`` constraint to the
class Author
{
/* ... */
-
+
/**
* @assert:Valid
*/
@@ -197,11 +197,11 @@ invalid address. To prevent that, we add the ``Valid`` constraint to the
// src/Acme/HelloBundle/Author.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\Valid;
-
+
class Author
{
protected $address;
-
+
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('address', new Valid());
diff --git a/reference/forms/types/birthday.rst b/reference/forms/types/birthday.rst
index 08994874413..26ddcfc8427 100644
--- a/reference/forms/types/birthday.rst
+++ b/reference/forms/types/birthday.rst
@@ -37,19 +37,19 @@ Options
-------
* ``widget`` [type: string, default: ``choice``]
- Type of widget used for this form type. Can be ``text`` or ``choice``.
-
+ Type of widget used for this form type. Can be ``text`` or ``choice``.
+
* ``text``: renders a single input of type text. User's input is validated
based on the ``format`` option.
* ``choice``: renders three select inputs. The order of the selects
is defined in the ``pattern`` option.
-
+
* ``input`` [type: string, default: datetime]
The value of the input for the widget. Can be ``string``, ``datetime``
or ``array``. The form type input value will be returned in the format
specified. The input of April 21th, 2011 as an array would return:
-
+
.. code-block:: php
array('month' => 4, 'day' => 21, 'year' => 2011 )
@@ -64,7 +64,7 @@ Options
Option passed to the IntlDateFormatter class, used to transform user input
into the proper format. This is critical when the ``widget`` option is
set to ``text``, and will define how to transform the input.
-
+
* ``pattern`` [type: string, default: null]
This option is only relevant when the ``widget`` is set to ``choice``.
The default pattern is based off the ``format`` option, and tries to
diff --git a/reference/forms/types/choice.rst b/reference/forms/types/choice.rst
index a1bcff1ee8e..719dfb2c7d8 100644
--- a/reference/forms/types/choice.rst
+++ b/reference/forms/types/choice.rst
@@ -69,7 +69,7 @@ the field:
{{ form_widget(form.foo_choices, { 'empty_value': 'Choose an option' }) }}
.. code-block:: php
-
+
widget($form['foo_choices'], array('empty_value' => 'Choose an option')) ?>
Options
@@ -79,9 +79,9 @@ Options
This is the most basic way to specify the choices that should be used
by this field. The ``choices`` option is an array, where the array key
is the item value and the array value is the item's label:
-
+
.. code-block:: php
-
+
$builder->add('gender', 'choice', array(
'choices' => array('m' => 'Male', 'f' => 'Female')
));
diff --git a/reference/forms/types/date.rst b/reference/forms/types/date.rst
index 822970fc1c2..83e297cfcd0 100644
--- a/reference/forms/types/date.rst
+++ b/reference/forms/types/date.rst
@@ -69,8 +69,8 @@ Options
-------
* ``widget`` [type: string, default: ``choice``]
- Type of widget used for this form type. Can be ``text`` or ``choice``.
-
+ Type of widget used for this form type. Can be ``text`` or ``choice``.
+
* ``text``: renders a single input of type text. User's input is validated
based on the ``format`` option.
@@ -83,7 +83,7 @@ Options
The value of the input for the widget. Can be ``string``, ``datetime``
or ``array``. The form type input value will be returned in the format
specified. The input of ``April 21th, 2011`` as an array would return:
-
+
.. code-block:: php
array('month' => 4, 'day' => 21, 'year' => 2011 )
@@ -98,7 +98,7 @@ Options
Option passed to the IntlDateFormatter class, used to transform user input
into the proper format. This is critical when the ``widget`` option is
set to ``text``, and will define how to transform the input.
-
+
* ``pattern`` [type: string, default: null]
This option is only relevant when the ``widget`` is set to ``choice``.
The default pattern is based off the ``format`` option, and tries to
diff --git a/reference/forms/types/integer.rst b/reference/forms/types/integer.rst
index 269c28c2f5b..eee12f43ba3 100644
--- a/reference/forms/types/integer.rst
+++ b/reference/forms/types/integer.rst
@@ -33,7 +33,7 @@ Options
By default, if the user enters a non-integer number, it will be rounded
down. There are several other rounding methods, and each is a constant
on the :class:`Symfony\\Component\\Form\\DataTransformer\\IntegerToLocalizedStringTransformer`:
-
+
* ``IntegerToLocalizedStringTransformer::ROUND_DOWN``
Rounding mode to round towards zero.
* ``IntegerToLocalizedStringTransformer::ROUND_FLOOR``
diff --git a/reference/forms/types/money.rst b/reference/forms/types/money.rst
index f6fb4bb5a20..2ae7163d206 100644
--- a/reference/forms/types/money.rst
+++ b/reference/forms/types/money.rst
@@ -36,16 +36,16 @@ Options
the currency symbol that should be shown by the text box. Depending on
the currency - the currency symbol may be shown before or after the input
text field.
-
+
This can also be set to false to hide the currency symbol.
* ``divisor`` [type: integer, default: ``1``]
If, for some reason, you need to divide your starting value by a number
before rendering it to the user, you can use the ``divisor`` option.
For example:
-
+
.. code-block:: php
-
+
$builder->add('price', 'money', array(
'divisor' => 100,
));
diff --git a/reference/forms/types/number.rst b/reference/forms/types/number.rst
index 70cf2356404..2bbc4585a25 100644
--- a/reference/forms/types/number.rst
+++ b/reference/forms/types/number.rst
@@ -37,7 +37,7 @@ Options
If a submitted number needs to be rounded (based on the ``precision``
option), you have several configurable options for that rounding. Each
option is a constant on the :class:`Symfony\\Component\\Form\\DataTransformer\\IntegerToLocalizedStringTransformer`:
-
+
* ``IntegerToLocalizedStringTransformer::ROUND_DOWN``
Rounding mode to round towards zero.
* ``IntegerToLocalizedStringTransformer::ROUND_FLOOR``
diff --git a/reference/forms/types/options/label.rst.inc b/reference/forms/types/options/label.rst.inc
index c247e948a3a..5471b720e85 100644
--- a/reference/forms/types/options/label.rst.inc
+++ b/reference/forms/types/options/label.rst.inc
@@ -2,7 +2,7 @@
Sets the label that will be used when rendering the field. If blank,
the label will be auto-generated based on the name of the field. The label
can also be directly set inside the template:
-
+
.. code-block:: jinja
-
+
{{ render_label(form.name, 'Name') }}
\ No newline at end of file
diff --git a/reference/forms/types/options/preferred_choices.rst.inc b/reference/forms/types/options/preferred_choices.rst.inc
index b449440ac20..b55a1c50084 100644
--- a/reference/forms/types/options/preferred_choices.rst.inc
+++ b/reference/forms/types/options/preferred_choices.rst.inc
@@ -3,14 +3,14 @@
will be moved to the top of the select menu. The following would move
the "Baz" option to the top, with a visual separator between it and the
rest of the options:
-
+
.. code-block:: php
-
+
$builder->add('foo_choices', 'choice', array(
'choices' => array('foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'),
'preferred_choices' => array('baz'),
));
-
+
Note that preferred choices are only meaningful when rendering as a
``select`` element (i.e. ``expanded`` is false). The preferred choices
and normal choices are separated visually by a set of dotted lines
@@ -18,11 +18,11 @@
the field:
.. configuration-block::
-
+
.. code-block:: jinja
-
+
{{ form_widget(form.foo_choices, { 'separator': '=====' }) }}
.. code-block:: php
-
+
widget($form['foo_choices'], array('separator' => '=====')) ?>
diff --git a/reference/forms/types/password.rst b/reference/forms/types/password.rst
index 2c8cd3db286..fa7278ead5c 100644
--- a/reference/forms/types/password.rst
+++ b/reference/forms/types/password.rst
@@ -29,7 +29,7 @@ Options
If set to true, the field will *always* render blank, even if the corresponding
field has a value. When set to false, the password field will be rendered
with the ``value`` attribute set to its true value.
-
+
Put simply, if for some reason you want to render your password field
*with* the password value already entered into the box, set this to false.
diff --git a/reference/forms/types/percent.rst b/reference/forms/types/percent.rst
index 28faca630fc..0e1ad5fb983 100644
--- a/reference/forms/types/percent.rst
+++ b/reference/forms/types/percent.rst
@@ -33,7 +33,7 @@ Options
This controls how your data is stored on your object. For example, a percentage
corresponding to "55%", might be stored as ``.55`` or ``55`` on your
object. The two "types" handle these two cases:
-
+
* ``fractional``
If your data is stored as a decimal (e.g. ``.55``), use this type.
The data will be multiplied by ``100`` before being shown to the
diff --git a/reference/forms/types/textarea.rst b/reference/forms/types/textarea.rst
index e99c4e36d09..9c270120f44 100644
--- a/reference/forms/types/textarea.rst
+++ b/reference/forms/types/textarea.rst
@@ -4,7 +4,7 @@
textarea Field Type
===================
-Renders a ``textarea`` HTML element.
+Renders a ``textarea`` HTML element.
+-------------+------------------------------------------------------------------------+
| Rendered as | ``textarea`` field |
diff --git a/reference/forms/types/time.rst b/reference/forms/types/time.rst
index 19d217dea11..10ee91cc322 100644
--- a/reference/forms/types/time.rst
+++ b/reference/forms/types/time.rst
@@ -64,15 +64,15 @@ Options
-------
* ``widget`` [type: string, default: ``choice``]
- Type of widget used for this form type. Can be ``text`` or ``choice``.
-
+ Type of widget used for this form type. Can be ``text`` or ``choice``.
+
* ``text``: renders a single input of type text. User's input is validated based on the ``format`` option.
* ``choice``: renders two select inputs (three select inputs if ``with_seconds`` is set to ``true``).
* ``input`` [type: string, default: ``datetime``]
- The value of the input for the widget. Can be ``string``, ``datetime`` or ``array``. The form type input value will be returned
+ The value of the input for the widget. Can be ``string``, ``datetime`` or ``array``. The form type input value will be returned
in the format specified. The value "12:30" with the ``input`` option set to ``array`` would return:
-
+
.. code-block:: php
array('hour' => '12', 'minute' => '30' )