Fabien Potencier [Wed, 13 Apr 2011 08:23:46 +0000]
added support for traits (experimental)
Traits are "special" templates that define blocks that you can "include" in
other templates.
Let's take an example:
{# 'foo' template defines the 'foo' block #}
{% block 'foo' %}
FOO
{% endblock %}
{# 'main' template defines the 'bar' block and include the 'foo' block from the 'foo' template #}
{% extends 'base' %}
{% use 'foo' %}
{% block 'bar' %}
BAR
{% endblock %}
In the previous example, the 'main' template use the 'foo' one. It means that
the 'foo' block defined in the 'foo' template is available as if it were
defined in the 'main' template.
You can use as many 'use' statements as you want in a template:
{% extends 'base' %}
{% use 'foo' %}
{% use 'bar' %}
{% use 'foobar' %}
If two templates define the same block, the latest one wins. The template can
also overrides any block.
The 'use' tag also supports "dynamic" names:
{% set foo = 'foo' %}
{% use foo %}
The 'use' tag only imports a template if it does not extend another template,
if it does not define macros, and if the body is empty. But it can 'use' other
templates:
{# 'foo' template #}
{% block 'foo' %}
FOO
{% endblock %}
{# 'bar' template #}
{% use 'foo' %}
{% block 'bar' %}
BAR
{% endblock %}
{# 'main' template #}
{% extends 'base' %}
{% use 'bar' %}
In this example, the 'main' template has access to both 'foo' and 'bar'.
Traits are mainly useful when you consider blocks as reusable "functions";
like we do in Symfony2 forms or if you use Twig for code generation.
Fabien Potencier [Thu, 28 Apr 2011 14:21:27 +0000]
added a unit test
Fabien Potencier [Thu, 28 Apr 2011 14:20:15 +0000]
Merge remote branch 'nikic/fixIncorrectGetAttrDefinedSoftCheck'
* nikic/fixIncorrectGetAttrDefinedSoftCheck:
Use a type strict null check for GetAttr defined tests. Fixes #305
Fabien Potencier [Thu, 28 Apr 2011 11:18:02 +0000]
Revert "refactored some tests"
This reverts commit
d45c980a41729e9506148f46c4fd6dc70907b0ad.
Tests should work on PHP 5.2
nikic [Thu, 28 Apr 2011 11:17:49 +0000]
Use a type strict null check for GetAttr defined tests. Fixes #305
lenar [Thu, 28 Apr 2011 08:27:40 +0000]
fixes performance regression
The regression was introduced by
1e09c7b660856b8178c1.
Joseph Bielawski [Wed, 27 Apr 2011 15:50:08 +0000]
Simplify fix.
Joseph Bielawski [Wed, 27 Apr 2011 15:01:08 +0000]
Additional tests for issue #307
Joseph Bielawski [Wed, 27 Apr 2011 14:57:39 +0000]
Fix for issue #307
Fabien Potencier [Fri, 22 Apr 2011 14:08:07 +0000]
added template file information when an error occurs during compilation
Fabien Potencier [Fri, 22 Apr 2011 14:06:50 +0000]
tweaked Twig_Error to keep the passed line or template when passed in the constructor and findTemplateInfo() was not able to guess it better
Fabien Potencier [Fri, 22 Apr 2011 07:53:49 +0000]
added PhpStorm as IDE that supports Twig out of the box
Fabien Potencier [Fri, 15 Apr 2011 14:21:45 +0000]
added a unit test
Fabien Potencier [Thu, 14 Apr 2011 08:03:43 +0000]
fixed typos in the doc
Fabien Potencier [Thu, 14 Apr 2011 05:42:28 +0000]
tweaked doc
Fabien Potencier [Thu, 14 Apr 2011 05:39:48 +0000]
fixed typo in doc
Fabien Potencier [Thu, 14 Apr 2011 05:37:17 +0000]
updated CHANGELOG
Fabien Potencier [Thu, 14 Apr 2011 05:35:58 +0000]
added null as an alias to none and made TRUE, FALSE, and NONE equivalent to true, false, and none
Fabien Potencier [Thu, 14 Apr 2011 05:22:57 +0000]
Merge remote branch 'markstory/whitespace'
* markstory/whitespace:
Updating documentation for whitespace trim tags.
Making trim tags consume all whitespace, both horizontal and vertical.
Adding additional test suggested by nikic.
Making a capturing group non capturing, as the group isn't used.
Moving newline trimming into the regexp used to match end of tags.
Applying changes suggested by nikic to simplify how end of comments are processed.
Fixing some whitespace.
Fixing typo.
Adding a bit of documentation for whitespace trimming.
Adding whitespace trimming support to other tag types (comments, variables) Refactoring how whitespace trimming is done, and moving it into a separate option that is combined with other tag types. Adding more tests. Refs #284
Fixing use of non-existent method name.
Adding a test case for mixing {%- and %} tags together.
Adding a test that uses tabs. Added a test for trailing tabs and -%} Refs #284
Implementing {%- which trims non-newline whitespace preceding it. Refs
Mark Story [Thu, 14 Apr 2011 02:15:32 +0000]
Updating documentation for whitespace trim tags.
Mark Story [Thu, 14 Apr 2011 02:10:57 +0000]
Making trim tags consume all whitespace, both horizontal and vertical.
Fabien Potencier [Tue, 12 Apr 2011 14:04:26 +0000]
removed empty if
Fabien Potencier [Tue, 12 Apr 2011 13:37:51 +0000]
tweaked error message when wrapping an external exception
Fabien Potencier [Tue, 12 Apr 2011 12:42:00 +0000]
made Twig_Error::findTemplateInfo() more robust
Fabien Potencier [Tue, 12 Apr 2011 08:21:00 +0000]
refactored some tests
Fabien Potencier [Tue, 12 Apr 2011 07:35:37 +0000]
fixed some tests
Fabien Potencier [Tue, 12 Apr 2011 07:12:05 +0000]
tweaked error wrapping
Fabien Potencier [Tue, 12 Apr 2011 07:22:15 +0000]
refactored some tests
Fabien Potencier [Tue, 12 Apr 2011 06:11:29 +0000]
removed line parameter from Twig_Template::getAttribute() and getContext() as the information is now gathered by Twig_Error_Wrapped
Fabien Potencier [Tue, 12 Apr 2011 05:58:02 +0000]
added a Twig_Error_Wrapped exception to try to add template name and line when a problem occurs at runtime
Fabien Potencier [Tue, 12 Apr 2011 05:54:05 +0000]
Revert "deleted abstract method doDisplay (maintain BC)"
This reverts commit
70d90bedce7788f5aac35357975aaf6c6a584baf.
Fabien Potencier [Tue, 12 Apr 2011 05:53:48 +0000]
Merge remote branch 'hason/template'
* hason/template:
deleted abstract method doDisplay (maintain BC)
added possibility to customize "display" in the base template class
Fabien Potencier [Mon, 11 Apr 2011 16:51:49 +0000]
Merge remote branch 'nikic/fixWrongMethodCallInTest'
* nikic/fixWrongMethodCallInTest:
$e->setFilename to $e->setTemplateFile in integrationTest
Hugo Hamon [Wed, 6 Apr 2011 22:31:51 +0000]
[doc] added the link to the Twig Netbeans plugin.
Mark Story [Wed, 6 Apr 2011 01:29:38 +0000]
Adding additional test suggested by nikic.
Mark Story [Wed, 6 Apr 2011 01:06:58 +0000]
Making a capturing group non capturing, as the group isn't used.
Mark Story [Sat, 2 Apr 2011 14:11:44 +0000]
Moving newline trimming into the regexp used to match end of tags.
Mark Story [Sat, 2 Apr 2011 14:08:51 +0000]
Applying changes suggested by nikic to simplify how end of comments are processed.
Mark Story [Sat, 2 Apr 2011 14:05:55 +0000]
Fixing some whitespace.
Mark Story [Fri, 1 Apr 2011 01:24:00 +0000]
Fixing typo.
Mark Story [Thu, 31 Mar 2011 01:55:15 +0000]
Adding a bit of documentation for whitespace trimming.
nikic [Wed, 30 Mar 2011 15:37:23 +0000]
$e->setFilename to $e->setTemplateFile in integrationTest
Mark Story [Wed, 30 Mar 2011 11:33:04 +0000]
Adding whitespace trimming support to other tag types (comments, variables)
Refactoring how whitespace trimming is done, and moving it into a separate option that is combined with other tag types.
Adding more tests.
Refs #284
Mark Story [Wed, 30 Mar 2011 11:32:06 +0000]
Fixing use of non-existent method name.
Mark Story [Wed, 23 Mar 2011 03:08:51 +0000]
Adding a test case for mixing {%- and %} tags together.
Mark Story [Wed, 23 Mar 2011 02:59:56 +0000]
Adding a test that uses tabs.
Added a test for trailing tabs and -%}
Refs #284
Mark Story [Wed, 23 Mar 2011 02:35:54 +0000]
Implementing {%- which trims non-newline whitespace preceding it. Refs
Fabien Potencier [Sun, 27 Mar 2011 19:17:16 +0000]
fixed CHANGELOG
Fabien Potencier [Sun, 27 Mar 2011 17:28:16 +0000]
updated CHANGELOG
Fabien Potencier [Sun, 27 Mar 2011 16:53:52 +0000]
added some tests
Fabien Potencier [Sun, 27 Mar 2011 16:49:04 +0000]
Merge remote branch 'nikic/fixSandboxDuplicateMethodCalls'
* nikic/fixSandboxDuplicateMethodCalls:
fix duplicate call of methods if using sandbox
Fabien Potencier [Sun, 27 Mar 2011 16:13:59 +0000]
added a test
Fabien Potencier [Sun, 27 Mar 2011 15:50:50 +0000]
added some cleanup in unit tests
Fabien Potencier [Sat, 26 Mar 2011 09:24:45 +0000]
replaced the Twig_Environment::load() shortcut by a more useful render() one
Jordi Boggiano [Wed, 23 Mar 2011 15:39:25 +0000]
Ensure all mbstring calls have the charset specified
Fabien Potencier [Tue, 22 Mar 2011 10:58:42 +0000]
added Twig_Environment::load() as an alias for loadTemplate()
Fabien Potencier [Mon, 21 Mar 2011 18:24:59 +0000]
Merge remote branch 'markstory/ticket-277'
* markstory/ticket-277:
Updating documentation for blocks, mentioning that block names cannot contain -. Fixes #277
Marc Abramowitz [Wed, 23 Feb 2011 22:58:01 +0000]
Correct spelling error (in 3 places): "unkown" -> "unknown"
nikic [Thu, 17 Mar 2011 17:26:29 +0000]
fix duplicate call of methods if using sandbox
Fabien Potencier [Thu, 17 Mar 2011 07:02:42 +0000]
made the charset configurable for the escape filter
Anomareh [Sun, 13 Mar 2011 02:14:36 +0000]
Added a link to the Twig TextMate bundle and fixed a typo.
Fabien Potencier [Fri, 11 Mar 2011 18:09:05 +0000]
fixed typo
Fabien Potencier [Fri, 11 Mar 2011 12:29:40 +0000]
added a recipe
Mark Story [Fri, 11 Mar 2011 03:35:36 +0000]
Updating documentation for blocks, mentioning that block names cannot contain -. Fixes #277
Pascal Borreli [Fri, 11 Mar 2011 00:58:38 +0000]
[Twig] renamed: phpunit.xml -> phpunit.xml.dist
Fabien Potencier [Mon, 21 Feb 2011 15:04:18 +0000]
updated CHANGELOG
Fabien Potencier [Fri, 18 Feb 2011 15:13:23 +0000]
updated documentation and added a unit test
nikic [Wed, 9 Feb 2011 17:27:28 +0000]
capturing {% set %} should give Twig_Markup
nikic [Tue, 8 Feb 2011 20:48:51 +0000]
remove old code for setting all optimizers
nikic [Wed, 9 Feb 2011 17:06:57 +0000]
add some more DocComments / type hints
Fabien Potencier [Thu, 17 Feb 2011 12:36:40 +0000]
added support for macro name in the endmacro tag
nikic [Tue, 8 Feb 2011 20:52:55 +0000]
fix some typos
nikic [Tue, 8 Feb 2011 20:39:32 +0000]
swap GetAttr constructor arguments for from .. import macros
Fabien Potencier [Tue, 8 Feb 2011 14:39:03 +0000]
fixed typos
Fabien Potencier [Sun, 6 Feb 2011 20:09:23 +0000]
added a way for template name to be anything
Fabien Potencier [Sun, 6 Feb 2011 20:03:13 +0000]
Revert "added the possibility to pass a readable name for templates"
This reverts commit
7a7c23f197482e1c04c70f10b12c2705f358cde6.
Fabien Potencier [Sat, 5 Feb 2011 22:57:22 +0000]
fixed filter tag
Fabien Potencier [Fri, 4 Feb 2011 11:46:05 +0000]
added the possibility to pass a readable name for templates
Fabien Potencier [Fri, 4 Feb 2011 11:53:23 +0000]
fixed wrong usage of loadTemplate()
Martin Hason [Wed, 2 Feb 2011 11:46:49 +0000]
fixed functions
Martin Hason [Wed, 2 Feb 2011 11:43:59 +0000]
fixed test covers
Fabien Potencier [Thu, 3 Feb 2011 23:51:34 +0000]
fixed __call()
Martin Hason [Mon, 10 Jan 2011 15:03:48 +0000]
make Twig_Error compatible with PHP 5.3.0 >
Martin Hason [Wed, 2 Feb 2011 20:20:22 +0000]
deleted abstract method doDisplay (maintain BC)
Martin Hason [Wed, 2 Feb 2011 13:41:20 +0000]
added possibility to customize "display" in the base template class
Fabien Potencier [Mon, 31 Jan 2011 07:47:08 +0000]
fixes an infinite loop on some Windows configurations
Fabien Potencier [Thu, 27 Jan 2011 22:12:35 +0000]
fixed possible warning
Fabien Potencier [Sat, 22 Jan 2011 08:12:57 +0000]
fixed the "length" filter for numbers
Fabien Potencier [Mon, 17 Jan 2011 06:45:12 +0000]
made a small tweak
Fabien Potencier [Sun, 16 Jan 2011 07:00:40 +0000]
added a note about the main advantage of creating an extension
Fabien Potencier [Sun, 16 Jan 2011 06:55:52 +0000]
fixed typo in phpdoc
Fabien Potencier [Sun, 16 Jan 2011 06:46:59 +0000]
removed coupling between Twig_Node and Twig_Template
This coupling was bad as Twig_Node should only be useful
during compilation.
So, the Twig_Node_Expression_GetAttr constants have been moved
to Twig_TemplateInterface.
Fabien Potencier [Sat, 15 Jan 2011 11:05:44 +0000]
made Twig_Loader_Filesystem more flexible
Fabien Potencier [Thu, 13 Jan 2011 09:35:31 +0000]
fixed Template::getAttribute() as properties in PHP are case sensitive
Martin Hason [Mon, 10 Jan 2011 14:37:35 +0000]
add methods and fix naming of methods in Twig_Error
Fabien Potencier [Wed, 12 Jan 2011 09:39:35 +0000]
fixed documentation for the sandbox security policy
Fabien Potencier [Mon, 10 Jan 2011 18:13:18 +0000]
fixed text token with only '0' as content
Fabien Potencier [Mon, 10 Jan 2011 18:09:08 +0000]
added a test for previous commit
Fabien Potencier [Mon, 10 Jan 2011 18:06:37 +0000]
fixed the ternary operator
Fabien Potencier [Sun, 9 Jan 2011 08:56:15 +0000]
bumped version for dev