The form component should now guarantee to always pass an UploadedFile object to your model. There you can call getOriginalName() to retrieve the original name of the uploaded file. For security reasons, the real file name is a generated hash value.
The consequence of this commit is that variables are accessible that have been passed to a surrounding form helper.
Example template:
{% block my_widget_label %}
<label>{{ label }}
{% endblock %}
{% block my_widget_row %}
{# It is not necessary to explicitely pass through the label variable #}
{{ form_label(form) }}
{{ form_widget(form) }}
{% endblock %}
Example usage:
{{ form_row(form.mywidget, { 'label': 'My Widget' }) }}
The doctrine:generate:entities is now able to generate classes
based on a bundle name, a class name, or a namespace.
The command has still some limitations which will be hopefully
be fixed later on.
If also generates the repository class when possible
(replaces the doctrine:generate:repositories command).
$em = $this->get('doctrine')->getEntityManager();
$em->getConnection()->beginTransaction(); // suspend auto-commit
try {
//... do some work
} catch (Exception $e) {
$em->getConnection()->rollback();
$em->close();
// get a new EM
$em = $this->get('doctrine')->getEntityManager();
}
* Seldaek/loggerinterface:
[HttpKernel] Removed log() from the LoggerInterface as the priority can not be safely determined across implementations
[HttpKernel] Prevent errors leaking out in the console on windows
The Registry knows all connections and entity managers declared into a service
container. The Registry is available via the 'doctrine' service.
If can be used to get connections and entity managers by name:
Before:
$em = $this->get('doctrine.orm.entity_manager');
$em = $this->get('doctrine.orm.foobar_entity_manager');
After:
$em = $this->get('doctrine')->getEntityManager();
$em = $this->get('doctrine')->getEntityManager('foobar');
It is better for several reasons:
* we rely less on naming conventions
* IDEs will be able to auto-complete methods
This allows people to filter easily between 404 type of responses (that are mostly for users) and real errors in their application (where they probably want to get an email notification