* 1.x:
Enhancement: Introduce DOCtor-RST config + Sphinx build + GithubActions
Enhancement: Use GithubActions instead of Travis for tests
Fix `odd` not working for negative numbers
Bump version to 1.44.2-DEV
Prepare the 1.44.1 release
* 1.x:
fixed .php_cs CS
removed 5.3 from Travis matrix
removed array notation in comments
enabled short array notation in docs
fixed usage of short array notation in tests
fixed usage of short array notation in tests
fixed more short array notations
switched to use PHP short array notation for Twig's code
switched to use short arrays in generated code
dropped PHP 5.3 support
bumped version
This PR was merged into the 1.x branch.
Discussion
----------
added support for a custom template on the block() function
`block()` allows one to render a block of the current template.
This PR adds the possibility to use `block()` to render a block of another template:
```twig
{{ block('footer', template_name) }}
```
As it uses the same logic as for the regular `block()`, you can also use it in a test:
```twig
{% if block('footer', template_name) is defined %}
...
{% endif %}
```
This removes the needs to use the internal `Twig_Template::renderBlock()` method in the Symfony Web Profiler for instance. And combined with #2236, it allows us to really mark the whole `Twig_Template` class as being internal.
I'm aware that #1302 asked for being able to pass a context to `block()` (implemented in #1433), but I prefer not to in favor of adding the `with` tag (see #719 and #1054).
When the `with` will be implemented, the code in the Symfony Web Profiler will become something along the lines of:
```twig
{% with {
'collector': profile.getcollector(name),
'profiler_url': profiler_url,
'token': profile.token,
'name': name
} %}
{{ block('toolbar', template) }}
{% endwith %}
```
Commits
-------
5ed59be added support for a custom template on the block() function