Commit Graph

628 Commits

Author SHA1 Message Date
Fabien Potencier
00b19e234d fixed typos 2011-01-17 20:23:32 +01:00
Fabien Potencier
dba8c67941 [FrameworkBundle] disable translator if not explicitely enabled 2011-01-17 16:05:24 +01:00
Fabien Potencier
b7d2528384 added a way for any extension to add classes to the class cache 2011-01-16 11:32:17 +01:00
Johannes Schmitt
f1b7bc1fe9 some refactorings/improvements 2011-01-15 21:07:35 +01:00
Fabien Potencier
a365ab2884 changed the template name format
Before

bundle:section:template.format.renderer

After

bundle:section:template.renderer.format

Notice that both the renderer and the format are mandatory.
2011-01-15 12:33:27 +01:00
Fabien Potencier
055b6e4d6e made a big refactoring of the templating sub-framework
* better separation of concerns
 * made TwigBundle independant of the PHP Engine from FrameworkBundle (WIP)
 * removed one layer of abstraction in the Templating component (renderers)
 * made it easier to create a new Engine for any templating library
 * made engines lazy-loaded (PHP engine for instance is not started if you only use Twig)
 * reduces memory footprint (if you only use one engine)
 * reduces size of compiled classes.php cache file
2011-01-15 07:43:05 +01:00
Fabien Potencier
6b4ae4479a [TwigBundle] removed coupling between TemplatingExtension and Templating Engine 2011-01-14 08:57:04 +01:00
Fabien Potencier
c38c0c303e refactored Templating
* made the renderer argument of Storage ctor mandatory
 * refactored the Engine class to avoid code duplication
 * simplified the check for a template that extends another one but with a different renderer
2011-01-13 11:16:45 +01:00
Fabien Potencier
e975a09003 [TwigBundle] tweaked a comment 2011-01-13 07:55:58 +01:00
partugal
5ac67a23e7 [TwigBundle] addExtension calls must be first 2011-01-13 07:54:26 +01:00
Fabien Potencier
46f3da50d8 [TwigBundle] removed the cache for globals (does not work when working in functional tests) 2011-01-12 17:26:46 +01:00
Fabien Potencier
b056a6c3c1 [TwigBundle] fixed cache problem for some global variables 2011-01-12 17:25:39 +01:00
Victor Berchet
f2d32ccfde [Extensions] Type hints 2011-01-11 20:31:44 +01:00
Victor Berchet
9c51916503 [TwigBundle] Remove invalid options from the container 2011-01-11 20:29:05 +01:00
Fabien Potencier
450a6b39a2 [TwigBundle] moved global variables under the app. prefix
Before:

{{ session.flash('notice') }}

After:

{{ app.session.flash('notice') }}
2011-01-11 18:07:02 +01:00
Fabien Potencier
47b87e902e [TwigBundle] made global more powerful
A global can now be a service or a string:

<twig:config debug="%kernel.debug%" strict-variables="%kernel.debug%">
    <twig:global key="request" type="service" id="request" />
    <twig:global key="PI">3.14</twig:global>
</twig:config>
2011-01-11 15:55:31 +01:00
Fabien Potencier
50809d2ae0 [TwigBundle] added the security context and the user as global variables when they are defined 2011-01-07 17:49:43 +01:00
Fabien Potencier
1c3a01b25c removed duplicate code 2011-01-07 17:14:41 +01:00
Jeremy Mikola
0c50ca8775 [TwigBundle] Renderer::evaluate() should ensure the Request is both defined and non-empty
This addresses an oversight in my previous commit: 9553971d06
Author: Jeremy Mikola <jmikola@gmail.com>
Date:   Thu Jan 6 13:26:45 2011 -0500
2011-01-07 14:32:31 +01:00
Fabien Potencier
2ded40fb75 [TwigBundle] added a way to easily register extensions from the configuration
<twig:extension id="twig.extension.debug" />

    twig:
        extensions: [twig.extension.debug]

The Twig-Extensions repository extensions are already registered:

 * twig.extension.debug
 * twig.extension.text
2011-01-06 19:51:03 +01:00
Jeremy Mikola
9553971d06 [TwigBundle] Allow Renderer::evaluate() even when Request and Session are not available
This is helpful for using Twig outside of a request-serving context, such during a console command.  Added unit tests the original behavior and new behavior for this patch.
2011-01-06 19:31:27 +01:00
Fabien Potencier
911dbe9cc4 removed a circular reference in the definition of the templating and Twig services
* added a new TemplateNameConverter that parses a template name
 * removed the dependency between the Twig loader and the Templating engine
2011-01-06 14:52:43 +01:00
Fabien Potencier
e3944bf4e6 fixed escaping in CodeHelper::formatArgs() 2011-01-06 11:43:39 +01:00
Fabien Potencier
f946355f80 [TwigBundle] added a form_row() function 2011-01-05 19:37:50 +01:00
Johannes M. Schmitt
da5475ec42 service visibility changes 2011-01-05 16:01:48 +01:00
Johannes M. Schmitt
c5ef113b18 DI container optimization 2011-01-05 15:41:11 +01:00
Fabien Potencier
7fdc61f272 [TwigBundle] added a way to register Twig globals from configuration
<twig:config debug="%kernel.debug%" strict-variables="%kernel.debug%">
        <twig:global key="foo" id="request" />
    </twig:config>

    twig.config:
        globals:
          foo: request
2011-01-04 14:40:25 +01:00
Fabien Potencier
7b7e83f428 removed js and css helpers and Twig integration
These helpers have been removed as they do not work as expected.
Among other things, the order is not the right one when using PHP
templates, and adding assets from an included template is not
possible when using Twig templates.

This should be replaced by integrating a third-party library that
manages assets: minification, compilation, packaging, ...
2011-01-04 14:07:25 +01:00
Fabien Potencier
b60d254be2 [TwigBundle] added request and session as global variables
* removed the "_view" variable from templates
 * removed the "flash()" function (now available from the session directly {{ session.flash('notice') }})
2011-01-04 14:03:41 +01:00
Fabien Potencier
0e487cdda6 [TwigBundle] replaced current {{ foo }} syntax for translation placeholders to %foo% 2011-01-04 08:47:23 +01:00
Bernhard Schussek
114b2cf6c1 [FrameworkBundle] Attributes can now be passed when rendering form fields with the PHP renderer 2011-01-03 22:07:12 +01:00
Fabien Potencier
8b843e2662 [TwigBundle] fixed trans tag due to Twig changes 2011-01-03 20:09:48 +01:00
Fabien Potencier
8ca90d5233 fixed typo in phpdoc 2011-01-03 15:11:55 +01:00
Fabien Potencier
acbdbfca52 fixed typo 2011-01-03 14:59:27 +01:00
Fabien Potencier
5c6b594dae [TwigBundle] converted form filters to functions
|render_enctype -> form_enctype()
|render         -> form_field()
|render_hidden  -> form_hidden()
|render_errors  -> form_errors()
|render_label   -> form_label()
|render_data    -> form_data()
2011-01-03 14:45:16 +01:00
Fabien Potencier
e20a246eee [TwigBundle] fixed format_args configuration 2011-01-03 14:26:20 +01:00
Fabien Potencier
55b343b27c [TwigBundle] simplified code a bit 2011-01-03 12:34:14 +01:00
Fabien Potencier
2e9b8a4117 [TwigBundle] removed HelperTokenParser 2011-01-03 12:16:24 +01:00
Fabien Potencier
13bcf7cdac [TwigBundle] converted flash tag to a function 2011-01-03 12:14:54 +01:00
Fabien Potencier
3f492cae40 [TwigBundle] removed usage of HelperTokenParser for the js/css tags 2011-01-03 12:12:26 +01:00
Fabien Potencier
840bd8aacd [TwigBundle] removed usage of HelperTokenParser for the 'render' tag 2011-01-03 11:56:52 +01:00
Christophe Coevoet
da9d2e82f6 Added the Typehint needed by the type-hinting in Twig_Node 2011-01-02 16:25:18 +01:00
Bernhard Schussek
2daa6b5bfe [TwigBundle] Fixed display of DateFields in twig templates 2011-01-02 10:41:12 +01:00
Bernhard Schussek
d8b8ae0608 [FrameworkBundle][TwigBundle] Introduced field_row template for Form rendering 2011-01-02 10:41:00 +01:00
Fabien Potencier
62cd09e708 [TwigBundle] replaced the asset tag with an asset function (from {% asset css/foo.css %} to {{ asset('css/foo.css') }} 2010-12-31 16:59:44 +01:00
Johannes Schmitt
b4288459cc added ACL system to the Security Component 2010-12-31 09:25:53 +01:00
Fabien Potencier
8777a34234 [TwigBundle] updated templates for the latest version of Twig 2010-12-30 12:12:15 +01:00
Henrik Bjørnskov
59996bd8b9 [TwigBundle] Fixed form.twig calls to {% display %} 2010-12-30 12:06:52 +01:00
Fabien Potencier
77f5e7a5f3 [TwigBundle] updated functions to work with the latest version of Twig 2010-12-28 19:53:11 +01:00
Fabien Potencier
8e6a3849ee [TwigBundle] converted the special Twig Environment class to a DIC compiler class 2010-12-23 12:58:31 +01:00
Fabien Potencier
5d65f3edbd [TwigBundle] converted path and url tags to functions
{% url 'blog_post' with { 'id': post.id } %} -> {{ url('blog_post', { 'id': post.id }) }}
{% path 'blog_post' with { 'id': post.id } %} -> {{ path('blog_post', { 'id': post.id }) }}
2010-12-20 09:39:51 +01:00
Fabien Potencier
d935df036c [TwigBundle] removed unused tag and contenttag Twig tags 2010-12-20 09:05:16 +01:00
Fabien Potencier
bacb472e39 updated last commit to reflect Twig changes 2010-12-19 22:27:50 +01:00
Fabien Potencier
faac8e6ffd [TwigBundle] replaced the ifrole tag with a has_role function
Before:

{% ifrole "ROLE_ADMIN" %}
    Only show if you have the ROLE_ADMIN role...
{% endifrole %}

After:

{% if has_role("ROLE_ADMIN") %}
    Only show if you have the ROLE_ADMIN role...
{% endif %}
2010-12-19 22:07:15 +01:00
Fabien Potencier
6970a46b84 updated Twig templates for the new hash syntax 2010-12-14 09:46:24 +01:00
Fabien Potencier
02a92ec297 [TwigBundle] added autoescape option in Twig configuration 2010-12-12 14:41:00 +01:00
Lukas Kahwe Smith
30f231deaf moved default form template to the DIC config 2010-12-12 13:52:01 +01:00
Kris Wallsmith
3e02eafc70 Fixed visibility of PHPUnit setUp and tearDown methods. 2010-12-06 15:52:23 +01:00
Fabien Potencier
963cbdcee5 [TwigBundle] removed escaper and optimizer extension as they are now registered by default in Twig 2010-12-02 10:31:14 +01:00
Lukas Kahwe Smith
87846f1acd fixed typo in the translation for validations 2010-11-30 07:58:34 +01:00
Fabien Potencier
7ad3eca188 [TwigBundle] activated Twig Optimizer extension by default 2010-11-28 15:42:57 +01:00
Fabien Potencier
547eaa81f7 [TwigBundle] fixed option management for Twig_Environment 2010-11-27 11:36:11 +01:00
Fabien Potencier
07eceb7ade [TwigBundle] fixed ifrole tag when security context is not enabled 2010-11-26 18:06:04 +01:00
Francis Besset
5e150931c9 [TwigBundle] Fix call to a member function get() on a non-object 2010-11-23 22:04:51 +01:00
Fabien Potencier
a40d317f49 made a slight optimization 2010-11-23 18:44:04 +01:00
Bernhard Schussek
e0aa3f30a8 [Form] Improved FileField to store files in a temporary location in case validation fails 2010-11-23 06:51:30 +01:00
Fabien Potencier
67f6889287 [TwigBundle] added support for Twig_Template instances as argument to include tag 2010-11-21 09:33:35 +01:00
Fabien Potencier
e3551b5f87 [TwigBundle] renamed yaml filter to yaml_encode (to be coherent with json_encode) 2010-11-19 13:30:14 +01:00
Fabien Potencier
a323dd0e93 [TwigBundle] added filters from Code helpers 2010-11-19 10:14:45 +01:00
Fabien Potencier
c881329719 [TwigBundle] removed unneeded use statement 2010-11-19 09:54:52 +01:00
Fabien Potencier
84cf5698c5 [TwigBundle] fixed include tag to reflect the new syntax from Twig 2010-11-19 09:51:12 +01:00
Fabien Potencier
17c500e0f0 [TwigBundle] added a yaml filter 2010-11-19 09:50:32 +01:00
Bernhard Schussek
e0d6aad5f4 [Form][FrameworkBundle][TwigBundle] Introduced class FieldError to wrap form errors 2010-11-19 07:11:29 +01:00
Bernhard Schussek
6176063b30 [TwigBundle] Fixed variable reference in the errors block of the form.twig template 2010-11-19 07:11:20 +01:00
Bernhard Schussek
1bbdb5ec07 [Form][FrameworkBundle][TwigBundle] Refactored the PHP and Twig templating layer
Support for theming in PHP templates has been dropped.

True theming should support theme inheritance, e.g. mytheme <- table <- default.
Currently, the Templating component does not support such inheritance. As the
only purpose of the themes so far was to style field groups with tables or
divs, and because automatic rendering of field groups/forms through the render()
method is discouraged and only recommended for rapid prototyping, themes are
dropped for now.
2010-11-16 22:26:35 +01:00
Jordi Boggiano
aa1b2efb15 [TwigBundle] Base form templates now using div instead of tables 2010-11-15 15:04:56 +01:00
Jordi Boggiano
d45954af07 [Form][TwigBundle] Making sure all field types are rendered with the proper template 2010-11-15 14:54:11 +01:00
Jordi Boggiano
d94c581f42 [TwigBundle] fixed instanceof check to include all FieldGroup like classes 2010-11-12 17:55:30 +01:00
Fabien Potencier
d7d4880a90 [TwigBundle] updated filters for the latest version of Twig 2010-11-07 20:37:51 +01:00
jeff
52ec8752d8 When route_attributes is null an exception is raised. 2010-11-06 14:34:08 +01:00
Fabien Potencier
1e13ecb5f3 [TwigBundle] split the route tag to 2 tags: path and url 2010-11-03 18:15:54 +01:00
IamPersistent
ac8e35549e added initiating template in renderWidget 2010-11-03 15:07:26 +01:00
Fabien Potencier
7e6bddedf9 [TwigBundle] moved Form extension initialization as late as possible
Because

 * it's better for performance (no need to init form templates if there is no forms)
 * right now, it crashes for all renderer except HTML (because the form templates obviously only exist for the HTML renderer)

The only other possible fix would be to force those resources to always use the HTML renderer
2010-10-28 09:50:00 +02:00
Fabien Potencier
bf3659d5bb added an exception when trying to extend a template with a decorator that uses a different renderer (for instance when a Twig template tries to extend a PHP one) 2010-10-21 08:57:31 +02:00
Fabien Potencier
dd7e33af6b [TwigBundle] fixed the include tag to behave like the standard Twig include tag 2010-10-20 14:02:39 +02:00
henrikbjorn
f810723092 Removed the need for having the Security component enabled when using twig. 2010-10-19 21:04:40 +02:00
Fabien Potencier
f216f313e8 added the Security Component and its integration into the MVC framework
Happy birthday symfony!
2010-10-19 13:33:17 +02:00
Kris Wallsmith
f79e23ffb5 Removed all those spaces after @author that were bothering me so… 2010-10-18 16:55:41 +02:00
Fabien Potencier
c1e873d1b0 removed debug code 2010-10-13 07:34:10 +02:00
henrikbjorn
30cf086828 Overrides the default {% include %} token parser since it loads through the right template renderer 2010-10-13 07:24:06 +02:00
ornicar
f667b6928f [TwigBundle] Add a template block to render CollectionField fields 2010-10-09 14:23:19 +02:00
Jordi Boggiano
12479cdd24 [TwigBundle] Simplified some code 2010-10-08 09:56:59 +02:00
Fabien Potencier
2525998f6e replaced form field rendering with plain templates
Documentation available here:

http://docs.symfony-reloaded.org/master/guides/form/
2010-10-05 08:34:33 +02:00
Fabien Potencier
47bc809dc3 [TwigBundle] added tests for trans tag and filter 2010-10-02 09:39:48 +02:00
Fabien Potencier
77125288e7 [TwigBundle] updated nodes for the latest version of Twig 2010-10-02 09:39:29 +02:00
Fabien Potencier
8e654e8f9e [TwigBundle] added the trans filter 2010-10-01 22:20:03 +02:00
Fabien Potencier
68bff2d214 [TwigBundle] fixed trans tags 2010-10-01 22:19:59 +02:00
Fabien Potencier
3696066bfe [TwigBundle] fixed typo 2010-10-01 22:19:54 +02:00
Fabien Potencier
416bd7872e [TwigBundle] optimized calls to helpers 2010-10-01 20:50:31 +02:00
Fabien Potencier
3ce8ad1718 fixed HelpersExtension (removed usage of the magic _view context attribute -- helpers should now work from macros) 2010-10-01 20:30:12 +02:00
Fabien Potencier
eff1bdf50f [TwigBundle] made trans and transchoice tags more flexible
Both tags accept variables now:

    {% trans label %}

    {% transchoice %}
      {{ error }}
    {% endtranschoice %}

Optionally, the with keywords allows to pass the placeholder values:

    {% trans label with vars %}
2010-09-30 19:13:01 +02:00
Fabien Potencier
4297609156 [TwigBundle] moved translator helpers to their own extension (removed usage of the magic _view variable context) 2010-09-30 10:14:58 +02:00
Fabien Potencier
6dc6d4a7d3 [TwigBundle] fixed trans tag 2010-09-29 18:11:25 +02:00
Fabien Potencier
7b9a523a43 [TwigBundle] fixed trans tag 2010-09-29 15:26:39 +02:00
Fabien Potencier
8ad2fd2123 [TwigBundle] renamed Helpers to HelpersExtension 2010-09-29 11:39:23 +02:00
Fabien Potencier
a6dc10c31a changed templating name notation
Old notation: bundle:section:name.format:renderer (where both format and renderer are optional)
New notation: bundle:section:name.format.renderer (where only format is optional)

Valid new template names: Blog:Post:index.php, Blog:Post:index.xml.php

The new notation is more explicit and put all templating engines on the same level (there is no
more the concept of a "default" templating engine).

Even if the notation changed, the semantic has not. So, the logical template name for the above
examples is still 'index'. So, if you use a database loader for instance, the template
name is 'index' and everything else are options.

Upgrading current applications can be easily done by appending .php to each existing template
name reference (in both controllers and templates), and changing :twig to .twig for Twig templates
(for twig templates, you should also add .twig within templates themselves when referencing
another Twig templates).
2010-09-28 08:33:33 +02:00
Fabien Potencier
d6f55c31d1 [TwigBundle] added helpers for translations 2010-09-27 09:45:58 +02:00
Fabien Potencier
d657adbfa2 removed Symfony\Framework
Things have been moved to Symfony\Component\HttpKernel
and Symfony\Bundle\FrameworkBundle

The kernel configuration namespace was removed and merged
with the main web configuration namespace (kernel:config => web:config,
kernel:test => web:test, and kernel:session => web:session):

Before:
<kernel:config charset="UTF-8" error_handler="null" />

<web:config csrf-secret="xxxxxxxxxx">
    <web:router resource="%kernel.root_dir%/config/routing.xml" />
    <web:validation enabled="true" annotations="true" />
</web:config>

After:
<web:config csrf-secret="xxxxxxxxxx" charset="UTF-8" error-handler="null">
    <web:router resource="%kernel.root_dir%/config/routing.xml" />
    <web:validation enabled="true" annotations="true" />
</web:config>

Renamed classes:

Symfony\{Framework => Bundle\FrameworkBundle}\Cache\Cache
Symfony\{Framework => Bundle\FrameworkBundle}\Client
Symfony\{Framework => Bundle\FrameworkBundle}\Debug\EventDispatcher
Symfony\{Framework => Bundle\FrameworkBundle}\Debug\EventDispatcherTraceableInterface
Symfony\{Framework => Bundle\FrameworkBundle}\EventDispatcher
Symfony\{Framework => Component\HttpFoundation}\UniversalClassLoader
Symfony\{Framework => Component\HttpKernel}\Bundle\Bundle
Symfony\{Framework => Component\HttpKernel}\Bundle\BundleInterface
Symfony\{Framework => Component\HttpKernel}\ClassCollectionLoader
Symfony\{Framework => Component\HttpKernel}\Debug\ErrorException
Symfony\{Framework => Component\HttpKernel}\Debug\ErrorHandler
Symfony\{Bundle\FrameworkBundle => Component\HttpKernel}\Debug\ExceptionListener
Symfony\{Framework => Component\HttpKernel}\Kernel
2010-09-17 12:58:24 +02:00
fivestar
8367df1265 [TwigBundle] fixed grammar for render helper. 2010-08-31 07:39:50 +02:00
Fabien Potencier
994a6c36ac changed actions::render() helper method signature 2010-08-30 09:15:54 +02:00
Fabien Potencier
1687831cb7 [TwigBundle] made a small optimization 2010-08-22 15:36:09 +02:00
Fabien Potencier
0319838cdc [TwigBundle] added a flash tag 2010-08-22 15:32:15 +02:00
Fabien Potencier
bf82cf42dd renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00
Fabien Potencier
17bc06a4d2 made some cleanup 2010-08-10 16:13:51 +02:00
Fabien Potencier
9e82497d5b removed BundleInterface::buildContainer() method (extensions are now automatically registered -- or override the getExtensions() method if you do not follow the conventions) 2010-08-10 16:07:44 +02:00
Fabien Potencier
355ed9b5f9 renamed annotation to tag in the DIC 2010-08-05 07:34:53 +02:00
Kris Wallsmith
fa3980f66f Removed some use statements that are no longer needed. 2010-08-04 07:37:12 +02:00
Fabien Potencier
ee2ff39eaf removed @package and @subpackage annotations 2010-08-01 23:06:28 +02:00
Fabien Potencier
1a9f2ca755 updated PHPDoc as the API tool knows about the current use statements 2010-07-27 15:33:28 +02:00
Fabien Potencier
c57cae7600 fixed test configuration and broken tests 2010-07-18 12:16:59 +02:00
fivestar
22f6eec0ef [TwigBundle] fixed class name in twig.xml 2010-07-17 07:55:09 +02:00
Fabien Potencier
2a051b5039 moved DI extensions classes to their own sub-namespace 2010-07-16 11:12:49 +02:00
Fabien Potencier
7796eb213c merged BuilderConfiguration and Builder classes into a new ContainerBuilder class 2010-07-15 15:20:41 +02:00
Fabien Potencier
f26abdfadd fixed phpdoc for DI extensions 2010-07-15 10:27:49 +02:00
Fabien Potencier
0163178f7b changed the BundleInterface::buildContainer() signature 2010-07-13 12:34:33 +02:00
Fabien Potencier
0fbb1b916b cleaned up the DI extension loading mechanism 2010-07-09 16:28:06 +02:00
Fabien Potencier
da9f36ca86 renamed Symfony\Foundation to Symfony\Framework
In existing applications, you need to updated the autoload.php file, the
XXXKernel file and all XXXBundle classes.
2010-07-09 10:25:54 +02:00
Fabien Potencier
6213fdefb9 renamed Symfony\Framework to Symfony\Bundle
For existing Symfony2 applications, references to Symfony\Framework are found
in the main Kernel class (registerBundles() and registerBundleDirs()), and in
all Controller classes. You also need to change the console script.
2010-07-09 10:25:15 +02:00