This PR was merged into the 1.x branch.
Discussion
----------
Be able to count on iterator
This PR allows to count on `\Traversable` Objects. Not sure if I made the change to the correct branch. Tell me please if I should target 2.x or master.
Commits
-------
be2c32cc Be able to count on iterator
This PR was merged into the 1.x branch.
Discussion
----------
Better testing of operators returned by Extension
Add better testing and docs description about operators when using an extension.
Commits
-------
282df53 Better type description on PHPDoc, better testing of returned value.
This PR was merged into the 1.x branch.
Discussion
----------
Add a "with" tag
Closes#719, alternative implementation of #1054
Commits
-------
4366907 added with tag
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