Commit Graph

705 Commits

Author SHA1 Message Date
Jeremy Mikola d8eafa02f2 Date filter should treat strict integers as Unix timestamps (same as all-digit strings)
Without a string cast, ctype_digit() will return false for an integer.
2011-05-27 11:54:06 -07:00
nikic f742efd602 Refactor GetAttr defined implementation to consider null defined 2011-05-24 12:48:47 +02:00
Brikou CARRE d90b2f7112 fixed constructor + cosmetic 2011-05-20 05:25:21 -07:00
Fabien Potencier 7bf7f54e82 tweaked docs 2011-05-18 08:14:47 +02:00
nikic 071210f97d Add some further is defined unit tests and give clearer names 2011-05-18 08:08:37 +02:00
nikic b0a94baebd Fix regression in defined test for GetAttr. Fixes #319 2011-05-18 08:08:32 +02:00
Fabien Potencier 5fd8f1f2f9 Merge remote branch 'jpb0104/master'
* jpb0104/master:
  Added an example of escaped "at" in a date filter.
2011-05-18 08:05:56 +02:00
Jason Bouffard c0447ec6fe Added an example of escaped "at" in a date filter.
Relates to https://github.com/fabpot/Twig/issues/330
2011-05-17 14:28:44 -07:00
Fabien Potencier 654468ff5d simplified code 2011-05-10 07:21:09 +02:00
Fabien Potencier 48f427ebd3 added a test for the raw tag 2011-05-09 17:47:21 +02:00
Fabien Potencier 64ce3e0e62 moved a test 2011-05-09 17:47:09 +02:00
Fabien Potencier 93425b32cb fixed parsing problem when a large chunk of text is enclosed in a raw tag
This is a quick and ugly fix... This should be refactored later on
2011-05-09 17:35:11 +02:00
Fabien Potencier d88e7ca244 fixed CS 2011-05-09 16:41:39 +02:00
Fabien Potencier 17f814223b updated email address 2011-04-29 17:18:51 +02:00
Fabien Potencier cae8293cb4 updated CHANGELOG 2011-04-29 17:14:17 +02:00
Fabien Potencier 109ce30288 made a small speed optimization when using auto-escaping 2011-04-29 15:23:00 +02:00
Fabien Potencier e4d457e55c updated version 2011-04-29 12:45:10 +02:00
Joseph Bielawski e307cfab06 Compiler.php - CS fix 2011-04-29 02:59:03 -07:00
Joseph Bielawski a0709beee6 TokenParserBroker.php - CS fix 2011-04-29 02:57:54 -07:00
Joseph Bielawski fa93043bf3 Parser.php - CS fix 2011-04-29 02:56:34 -07:00
Joseph Bielawski c716b99278 Lexer.php - CS fix 2011-04-29 02:54:59 -07:00
Joseph Bielawski 68a39159b0 Environment.php - CS fix 2011-04-29 02:46:23 -07:00
Joseph Bielawski 475ec2db03 TokenParserBroker.php - CS fix 2011-04-29 02:42:36 -07:00
Fabien Potencier 432b1732e4 fixed typo in the doc 2011-04-29 11:38:34 +02:00
Joseph Bielawski 448106fa04 DRY optimization 2011-04-29 01:34:13 -07:00
Fabien Potencier d2afbc95fb updated CHANGELOG 2011-04-29 10:18:57 +02:00
Fabien Potencier 3930ba0f4e added some tests for the use tag 2011-04-29 09:43:23 +02:00
Fabien Potencier 5ea7020aa0 added documentation for traits 2011-04-29 08:27:03 +02:00
Fabien Potencier 4a7aaad594 added support for block renaming when importing traits
{% use 'TwigBundle:Form:div_layout.html.twig' with text_widget as foo_text_widget %}
2011-04-29 00:07:00 +02:00
Fabien Potencier 221eb48ea8 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.
2011-04-28 16:22:09 +02:00
Fabien Potencier e70cc161a3 added a unit test 2011-04-28 16:21:27 +02:00
Fabien Potencier a302b02cd0 Merge remote branch 'nikic/fixIncorrectGetAttrDefinedSoftCheck'
* nikic/fixIncorrectGetAttrDefinedSoftCheck:
  Use a type strict null check for GetAttr defined tests. Fixes #305
2011-04-28 16:20:15 +02:00
Fabien Potencier 2a3365a36b Revert "refactored some tests"
This reverts commit d45c980a41.

Tests should work on PHP 5.2
2011-04-28 13:18:02 +02:00
nikic 17af31b5b4 Use a type strict null check for GetAttr defined tests. Fixes #305 2011-04-28 13:17:49 +02:00
lenar 04fcc0ca76 fixes performance regression
The regression was introduced by 1e09c7b660.
2011-04-28 11:27:40 +03:00
Joseph Bielawski 2f5e0cacd4 Simplify fix. 2011-04-27 08:50:08 -07:00
Joseph Bielawski db50167f5f Additional tests for issue #307 2011-04-27 08:01:08 -07:00
Joseph Bielawski 36143a6b6c Fix for issue #307 2011-04-27 07:57:39 -07:00
Fabien Potencier 1e09c7b660 added template file information when an error occurs during compilation 2011-04-22 16:08:43 +02:00
Fabien Potencier 9d88081c94 tweaked Twig_Error to keep the passed line or template when passed in the constructor and findTemplateInfo() was not able to guess it better 2011-04-22 16:06:50 +02:00
Fabien Potencier 3a31463707 added PhpStorm as IDE that supports Twig out of the box 2011-04-22 09:53:49 +02:00
Fabien Potencier 42bcb19338 added a unit test 2011-04-15 16:21:45 +02:00
Fabien Potencier 58206d816b fixed typos in the doc 2011-04-14 10:03:43 +02:00
Fabien Potencier 91750f37e9 tweaked doc 2011-04-14 07:42:28 +02:00
Fabien Potencier ef55950c13 fixed typo in doc 2011-04-14 07:39:48 +02:00
Fabien Potencier f782f1ec06 updated CHANGELOG 2011-04-14 07:37:17 +02:00
Fabien Potencier 76205f1eaa added null as an alias to none and made TRUE, FALSE, and NONE equivalent to true, false, and none 2011-04-14 07:35:58 +02:00
Fabien Potencier 385dc39689 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
2011-04-14 07:22:57 +02:00
Mark Story 485213a22b Updating documentation for whitespace trim tags. 2011-04-13 22:15:32 -04:00
Mark Story 99e3246c49 Making trim tags consume all whitespace, both horizontal and vertical. 2011-04-13 22:10:57 -04:00