<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8752449613814698654</id><updated>2025-11-06T11:22:42.930+01:00</updated><category term="sflive11"/><category term="slides"/><category term="form"/><category term="twig"/><category term="bundle"/><category term="controller"/><category term="dependency injection"/><category term="doctrine2"/><category term="extra"/><category term="git"/><category term="naming"/><category term="pr8"/><category term="sandbox"/><category term="service"/><category term="template"/><category term="translation"/><category term="web profiler"/><title type='text'>Symfony2 Tips</title><subtitle type='html'>Tips &amp;amp; Ticks on Symfony2 development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-267615447240273709</id><published>2011-05-11T15:41:00.000+02:00</published><updated>2011-05-11T15:41:20.352+02:00</updated><title type='text'>Note: Include Phar archives on Ubuntu 11.04</title><content type='html'>To include/require phar archives you have to whitelist phar files in your php.ini/suhosin.ini configuration file.&lt;br /&gt;
&lt;br /&gt;
suhosin.executor.include.whitelist = phar</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/267615447240273709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/05/note-include-phar-archives-on-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/267615447240273709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/267615447240273709'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/05/note-include-phar-archives-on-ubuntu.html' title='Note: Include Phar archives on Ubuntu 11.04'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-9137055187497619082</id><published>2011-04-19T15:58:00.000+02:00</published><updated>2011-04-19T15:58:03.486+02:00</updated><title type='text'>Symfony2 PR12 released</title><content type='html'>Just a quick notice: &lt;a href=&quot;http://symfony.com/blog/symfony2-pr12-released&quot;&gt;Symfony2 PR12 released&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/9137055187497619082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/symfony2-pr12-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/9137055187497619082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/9137055187497619082'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/symfony2-pr12-released.html' title='Symfony2 PR12 released'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-5123083159752607985</id><published>2011-04-15T09:50:00.002+02:00</published><updated>2011-04-15T10:06:37.637+02:00</updated><title type='text'>Propel2 - &#39;Whether it is called Propel2 or not is irrelevant.&#39;</title><content type='html'>Yesterday &lt;a href=&quot;http://twitter.com/#%21/jwage/status/58565039581446144&quot;&gt;something&lt;/a&gt; popped out on &lt;a href=&quot;http://twitter.com/hahaitsfate&quot;&gt;my twitter stream&lt;/a&gt; and made me a bit curious. &lt;a href=&quot;https://github.com/fzaninotto&quot;&gt;Francois Zaninotto&lt;/a&gt; is working on an ActiveRecord Implementation built on top of some &lt;a href=&quot;http://symfony.com/&quot;&gt;Symfony2&lt;/a&gt; components,&amp;nbsp; &lt;a href=&quot;http://www.doctrine-project.org/&quot;&gt;Doctrine2&lt;/a&gt; and &lt;a href=&quot;http://www.twig-project.org/&quot;&gt;Twig&lt;/a&gt;, maybe it will be later called &lt;a href=&quot;https://github.com/fzaninotto/Propel2&quot;&gt;Propel2&lt;/a&gt; or not.&lt;br /&gt;
&lt;br /&gt;
Check it out &lt;a href=&quot;https://github.com/fzaninotto/Propel2&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Features currently supported (out of the project readme on github)&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Working ActiveRecord builder (no handling of relations for now)  &lt;ul&gt;&lt;li&gt;Generated entities are empty classes extending generated Base Entities extending nothing&lt;/li&gt;
&lt;li&gt;Getter &amp;amp; setter generation&lt;/li&gt;
&lt;li&gt;Metadata loader&lt;/li&gt;
&lt;li&gt;Access to the EntityManager from within an Entity&lt;/li&gt;
&lt;li&gt;fromArray and toArray&lt;/li&gt;
&lt;li&gt;isNew, isModified, etc.&lt;/li&gt;
&lt;li&gt;ActiveEntity methods: save(), delete()&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Basic behavior support  &lt;ul&gt;&lt;li&gt;Ability to alter the data structure&lt;/li&gt;
&lt;li&gt;Ability to modify the generated code pretty much everywhere&lt;/li&gt;
&lt;li&gt;Timestampable behavior example&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Template customization via partials&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
I love this new era of PHP projects:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/Behat/Behat&quot;&gt;Behat&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://github.com/Behat/Gherkin&quot;&gt;Gherkin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Behat/Mink&quot;&gt;Mink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/avalanche123/Imagine&quot;&gt;Imagine &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/kriswallsmith/assetic&quot;&gt;Assetic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/knplabs/Gaufrette&quot;&gt;Gaufrette&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sismo-project.org/&quot;&gt;Sismo&lt;/a&gt; (covered &lt;a href=&quot;http://symfony2tips.blogspot.com/2011/04/sismo-your-friendly-continuous-testing.html&quot;&gt;here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://silex-project.org/&quot;&gt;Silex&lt;/a&gt; (covered &lt;a href=&quot;http://symfony2tips.blogspot.com/2011/04/silex-php-micro-framework.html&quot;&gt;here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fzaninotto/Propel2&quot;&gt;Propel2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/phpcr&quot;&gt;PHPCR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/everzet/capifony&quot;&gt;Capifony &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Just to mention a few ;)</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/5123083159752607985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/propel2-whether-it-is-called-propel2-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/5123083159752607985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/5123083159752607985'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/propel2-whether-it-is-called-propel2-or.html' title='Propel2 - &#39;Whether it is called Propel2 or not is irrelevant.&#39;'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-3211968103090628997</id><published>2011-04-13T15:24:00.002+02:00</published><updated>2011-04-19T15:58:41.343+02:00</updated><title type='text'>Sismo - Your &#39;friendly&#39; Continuous Testing Server</title><content type='html'>&lt;a href=&quot;http://fabien.potencier.org/&quot;&gt;Fabien Potencier&lt;/a&gt; released finally the first version of Sismo. Get it at &lt;a href=&quot;https://github.com/fabpot/Sismo&quot;&gt;GitHub&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/3211968103090628997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/sismo-your-friendly-continuous-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/3211968103090628997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/3211968103090628997'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/sismo-your-friendly-continuous-testing.html' title='Sismo - Your &#39;friendly&#39; Continuous Testing Server'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-3839725416973586998</id><published>2011-04-08T10:58:00.000+02:00</published><updated>2011-04-08T10:58:42.413+02:00</updated><title type='text'>SILEX - a PHP micro-framework</title><content type='html'>New toys for us to play with!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://fabien.potencier.org/&quot;&gt;Fabien Potencier&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/igorwesome&quot;&gt;Igor Wiedler&lt;/a&gt; brought us under the flagship of &lt;a href=&quot;http://www.sensiolabs.com/&quot;&gt;Sensio Labs&lt;/a&gt; a &lt;a href=&quot;http://www.sinatrarb.com/&quot;&gt;Sinatra.rb&lt;/a&gt; inspired micro framework.&lt;br /&gt;
&lt;br /&gt;
Check out their presentation:&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;__ss_7151324&quot; style=&quot;width: 425px;&quot;&gt;&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/IgorWiedler/silex-the-symfony2-microframework&quot; title=&quot;Silex - The Symfony2 Microframework&quot;&gt;Silex - The Symfony2 Microframework&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder=&quot;0&quot; height=&quot;355&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/7151324&quot; width=&quot;425&quot;&gt;&lt;/iframe&gt; &lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://silex-project.org/&quot;&gt;Silex project page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fabpot/Pimple&quot;&gt;Pimple&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.sinatrarb.com/&quot;&gt;Sinatra.rb &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
via &lt;a href=&quot;http://www.dev-talk.info/silex-php-micro-framework-fuer-php-5-3/&quot;&gt;Daniel Bayerlein&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For you JavaScript freaks out there, I created some months ago a prototype of Sinatra.rb in JavaScript based on MooTools 1.3 called Dean.js, the source is available at &lt;a href=&quot;https://github.com/fate/dean-js&quot;&gt;github&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/3839725416973586998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/silex-php-micro-framework.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/3839725416973586998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/3839725416973586998'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/04/silex-php-micro-framework.html' title='SILEX - a PHP micro-framework'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-8626254390075796154</id><published>2011-03-22T12:56:00.002+01:00</published><updated>2011-03-22T12:59:46.972+01:00</updated><title type='text'>Symfony Live Paris 2011 Slides</title><content type='html'>German php resource &lt;a href=&quot;http://phpgangsta.de/&quot;&gt;phpgangsta.de&lt;/a&gt; collected a nice &lt;a href=&quot;http://www.phpgangsta.de/symfony-live-paris-2011-slides&quot;&gt;list&lt;/a&gt; of slide from Symfony Live Paris 2011.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Slides, You should really keep an eye on:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/lsmith77/symfony2-from-the-trenches&quot; target=&quot;_blank&quot;&gt;Symfony2 – from the trenches&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
by &lt;a href=&quot;http://pooteeweet.org/&quot;&gt;Lukas Kahwe Smith&lt;/a&gt;, &lt;a href=&quot;http://seld.be/&quot;&gt;Jordi Boggiano&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/jmiklone&quot;&gt;Jeremy Mikola&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/kriswallsmith/assetic-symfony-live-paris&quot; target=&quot;_blank&quot;&gt;Introducing Assetic: Asset Management for PHP 5.3&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
by &lt;a href=&quot;http://kriswallsmith.net/&quot;&gt;Kris Wallsmith&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0B452haCOqM2VNjE1NzVmNjEtZmUyNC00ODZhLWEzOTUtM2VkMWM2YTY1MjY2&amp;amp;hl=en&amp;amp;authkey=CO_c9ckM&quot; target=&quot;_blank&quot;&gt;UserBundle (sfGuard for Symfony2)&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
by &lt;a href=&quot;http://twitter.com/jmiklone&quot;&gt;Jeremy Mikola&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://slides.seld.be/?file=2011-03-04+Lightning+Talks+-+Monolog.html#1&quot; target=&quot;_blank&quot;&gt;Monolog&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
by &lt;a href=&quot;http://seld.be/&quot;&gt;Jordi Boggiano&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/weaverryan/being-dangerous-with-twig-symfony-live-paris&quot; target=&quot;_blank&quot;&gt;Being dangerous with Twig&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
by &lt;a href=&quot;http://www.thatsquality.com/&quot;&gt;Ryan Weaver&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/everzet/bdd-in-symfony2&quot; target=&quot;_blank&quot;&gt;Behavior Driven Development for Symfony2 (with behat)&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
by &lt;a href=&quot;http://everzet.com/&quot;&gt;Konstantin Kudryashov&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;(via &lt;a href=&quot;http://www.phpgangsta.de/symfony-live-paris-2011-slides&quot;&gt;phpgangsta.de)&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/8626254390075796154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/03/symfony-live-paris-2011-slides.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/8626254390075796154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/8626254390075796154'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/03/symfony-live-paris-2011-slides.html' title='Symfony Live Paris 2011 Slides'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-1261821888271148394</id><published>2011-03-22T12:41:00.004+01:00</published><updated>2011-03-23T10:06:12.200+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bundle"/><category scheme="http://www.blogger.com/atom/ns#" term="extra"/><category scheme="http://www.blogger.com/atom/ns#" term="pr8"/><category scheme="http://www.blogger.com/atom/ns#" term="web profiler"/><title type='text'>WebProfilerBundleExtra - or how to boost Symfony2 WebProfiler from awesome to double awesome</title><content type='html'>&lt;a href=&quot;https://github.com/Elao/WebProfilerExtraBundle/raw/master/screen.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://github.com/Elao/WebProfilerExtraBundle/raw/master/screen.png&quot; width=&quot;164&quot; /&gt;&lt;/a&gt;Developer &lt;a href=&quot;http://www.elao.com/&quot;&gt;Vincent Bouzeran&lt;/a&gt; (&lt;a href=&quot;http://twitter.com/vincent_elao&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;https://github.com/vbouzeran&quot;&gt;Github&lt;/a&gt;) created some nifty Bundle called &#39;&lt;a href=&quot;https://github.com/Elao/WebProfilerExtraBundle&quot;&gt;WebProfilerExtraBundle&lt;/a&gt;&#39; that extends the Symfony2 web profiler and provieds support for the components:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Assetic&lt;/li&gt;
&lt;li&gt;Container&lt;/li&gt;
&lt;li&gt;Routing&lt;/li&gt;
&lt;li&gt;Twig&lt;/li&gt;
&lt;/ul&gt;You can install it from &lt;a href=&quot;https://github.com/Elao/WebProfilerExtraBundle&quot;&gt;here&lt;/a&gt;. &lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;(Tested with Symfony2 PR8)&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/1261821888271148394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/03/webprofilerbundleextra-or-how-to-boost.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/1261821888271148394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/1261821888271148394'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/03/webprofilerbundleextra-or-how-to-boost.html' title='WebProfilerBundleExtra - or how to boost Symfony2 WebProfiler from awesome to double awesome'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-1062608162720387471</id><published>2011-03-21T16:00:00.000+01:00</published><updated>2011-03-21T16:00:34.578+01:00</updated><title type='text'>Syntax highlighting Twig templates in Redcar/Textmate</title><content type='html'>If your favourite IDE/editor is &lt;a href=&quot;http://macromates.com/&quot;&gt;Textmate&lt;/a&gt; or &lt;a href=&quot;http://redcareditor.com/&quot;&gt;Redcar&lt;/a&gt; this could be something for you.&lt;br /&gt;
Today I found a dyntax highlighting &lt;a href=&quot;https://github.com/Anomareh/PHP-Twig.tmbundle&quot;&gt;Textmate bundle&lt;/a&gt; for Twig. You can download it &lt;a href=&quot;https://github.com/Anomareh/PHP-Twig.tmbundle/tarball/master&quot;&gt;directly&lt;/a&gt; from github. Just put the contents of the archive in a folder and name it &lt;i&gt;php-twig.tmbundle&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Bundle installation instructions for Textmate can be found &lt;a href=&quot;http://manual.macromates.com/en/bundles#installing_a_bundle&quot;&gt;here&lt;/a&gt; and for Redcar &lt;a href=&quot;https://github.com/redcar/redcar/wiki/User%27s-Guide---Bundles-and-Themes&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/1062608162720387471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/03/syntax-highlighting-twig-templates-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/1062608162720387471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/1062608162720387471'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/03/syntax-highlighting-twig-templates-in.html' title='Syntax highlighting Twig templates in Redcar/Textmate'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-8445949466899854338</id><published>2011-02-11T16:43:00.001+01:00</published><updated>2011-03-22T13:49:33.212+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="sandbox"/><title type='text'>How to free Symfony2 from the sandbox tutorial (with some help from Git)</title><content type='html'>&lt;b&gt;Note&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It&#39;s possible that this tutorial works no more, because of changes made to Symfony2 after release PR6.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The Symfony2 sandbox application is a great base to start digging into writing Symfony2 apps. When I tried to get my first overview of how to build an app with Symfony2 I just downloaded the symfony2-sandbox from &lt;a href=&quot;https://github.com/symfony/symfony-sandbox/archives/master&quot;&gt;https://github.com/symfony/symfony-sandbox/archives/master&lt;/a&gt; and extracted it somewhere onto my development machine, lets assume our folder is &lt;i&gt;sven@dev:~/sandbox$&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Git installed, check&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;b&gt;Hello Git, how are you :)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Create a new local git repository with &lt;i&gt;git init&lt;/i&gt;:&lt;br /&gt;
(No need now for a remote repository)&lt;br /&gt;
&lt;i&gt;sven@dev:~/sandbox$ git init&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Goodbye vendors, Hello vendors!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SVN had svn-externals, Git has submodules, so we can make our lives a little bit easier and make use of git submodules to include all vendors as independent git repositories, called submodules. To achieve this we have to execute the command &lt;i&gt;git submodule add &amp;lt;repository-url&amp;gt; &amp;lt;checkout-directory&amp;gt;&lt;/i&gt;. &lt;br /&gt;
Just execute the following list line by line on your command line:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sven@dev:~/sandbox$&lt;/i&gt;&lt;br /&gt;
&lt;pre style=&quot;font-size: 11px; overflow: auto;&quot;&gt;git submodule add git://github.com/symfony/symfony.git           vendor/symfony
git submodule add git://github.com/fabpot/Twig.git               vendor/twig
git submodule add git://github.com/fabpot/Twig-extensions.git    vendor/twig-extensions
git submodule add git://github.com/doctrine/common.git           vendor/doctrine-common
git submodule add git://github.com/doctrine/doctrine2.git        vendor/doctrine
git submodule add git://github.com/doctrine/dbal.git             vendor/doctrine-dbal
git submodule add git://github.com/doctrine/data-fixtures.git    vendor/doctrine-data-fixtures
git submodule add git://github.com/doctrine/migrations.git       vendor/doctrine-migrations
git submodule add git://github.com/doctrine/mongodb.git          vendor/doctrine-mongodb
git submodule add git://github.com/doctrine/mongodb-odm.git      vendor/doctrine-mongodb-odm
git submodule add git://github.com/swiftmailer/swiftmailer.git   vendor/swiftmailer
git submodule add git://github.com/zendframework/zf2.git         vendor/zend
&lt;/pre&gt;&lt;br /&gt;
Now you have included every dependency to a vendor as a seperate git repository, now just call &lt;i&gt;git submodule update --init&lt;/i&gt; to update everything.&lt;br /&gt;
&lt;i&gt;sven@dev:~/sandbox$ git submodule update --init&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;You like it slow?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Symfony2 has a bootstrap file under &lt;i&gt;~/sandbox/vendor/symfony/src/Symfony/Component/HttpKernel/bootstrap.php&lt;/i&gt; which includes the whole framework for maximum performance, so it never loads the real classes under &lt;i&gt;vendor/symfony/src/Symfony&lt;/i&gt;, for debugging and testing it can be useful to include the real classes and not the bootstrap file, for this you need to change two files:&lt;br /&gt;
&lt;br /&gt;
1: &lt;i&gt;sven@dev:~/sandbox/app/bootstrap.php&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Comment out the line:&lt;br /&gt;
&lt;code&gt;require_once __DIR__.&#39;/../vendor/symfony/src/Symfony/Component/HttpKernel/bootstrap.php&#39;;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
2: &lt;i&gt;sven@dev:~/sandbox/app/autoload.php&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Add at the beginning of the file the following line:&lt;br /&gt;
&lt;code&gt;require_once(__DIR__ . &#39;/../vendor/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php&#39;);&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;More to delete, just to be up to date&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Delete the contents of &lt;i&gt;sven@dev:~/sandbox/bin$&lt;/i&gt; and create a new folder called &lt;i&gt;ant-tasks&lt;/i&gt; and a new file called &lt;i&gt;update-vendors.xml&lt;/i&gt;. Paste the following content into the file:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;font-size: 11px; overflow: auto;&quot;&gt;&amp;lt;project name=&quot;update-vendors&quot; basedir=&quot;./../../&quot;&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine-common&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine-common&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine-dbal&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine-dbal&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine-data-fixtures&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine-data-fixtures&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine-migrations&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine-migrations&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine-mongodb&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine-mongodb&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-doctrine-mongodb-odm&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/doctrine-mongodb-odm&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-symfony&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/symfony&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-twig&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/twig&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-twig-extensions&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/twig-extensions&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-swiftmailer&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/swiftmailer&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
    
    &amp;lt;target name=&quot;update-zend&quot;&amp;gt;
        &amp;lt;exec dir=&quot;${basedir}/vendor/zend&quot; executable=&quot;git&quot; failonerror=&quot;true&quot;&amp;gt;
            &amp;lt;arg line=&quot;pull&quot; /&amp;gt;
        &amp;lt;/exec&amp;gt;
    &amp;lt;/target&amp;gt;
&amp;lt;/project&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
This file is an &lt;i&gt;ant tasks&lt;/i&gt; file, you can execute the tasks described in there with &lt;a href=&quot;http://ant.apache.org/&quot;&gt;ant&lt;/a&gt; to update your vendors.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Done&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now make your sandbox folder accessible by your webserver and navigate to the web folder and open the app.php or app_dev.php file in your browser, Symfony2 should running without any problems.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Another tip about git submodules&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes it&#39;s a bit dangerous to get the most bleeding edge checkouts from the vendors, so you can update the sources/submodules and after that, navigate into the checkout folder and switch to a tag with &lt;i&gt;git checkout &amp;lt;tag_name&amp;gt;&lt;/i&gt;.</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/8445949466899854338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/how-to-free-symfony2-from-sandbox.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/8445949466899854338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/8445949466899854338'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/how-to-free-symfony2-from-sandbox.html' title='How to free Symfony2 from the sandbox tutorial (with some help from Git)'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-7657074513434035885</id><published>2011-02-10T09:25:00.004+01:00</published><updated>2011-02-10T09:36:37.834+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="doctrine2"/><category scheme="http://www.blogger.com/atom/ns#" term="sflive11"/><title type='text'>Doctrine in the Real World - Presentation from Symfony Live 2011</title><content type='html'>&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/jwage/doctrine-intherealworldsf-live2011sanfran&quot; title=&quot;Doctrine in the Real World&quot;&gt;Doctrine in the Real World&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div id=&quot;__ss_6856072&quot; style=&quot;width: 425px;&quot;&gt;&lt;object height=&quot;355&quot; id=&quot;__sse6856072&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=doctrineintherealworldsflive2011sanfran-110208173927-phpapp02&amp;stripped_title=doctrine-intherealworldsf-live2011sanfran&amp;userName=jwage&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse6856072&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=doctrineintherealworldsflive2011sanfran-110208173927-phpapp02&amp;stripped_title=doctrine-intherealworldsf-live2011sanfran&amp;userName=jwage&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/jwage&quot;&gt;Jonathan Wage&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/7657074513434035885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/doctrine-in-real-world-presentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/7657074513434035885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/7657074513434035885'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/doctrine-in-real-world-presentation.html' title='Doctrine in the Real World - Presentation from Symfony Live 2011'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-5096094283344298707</id><published>2011-02-10T09:21:00.004+01:00</published><updated>2011-02-10T09:36:41.082+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sflive11"/><category scheme="http://www.blogger.com/atom/ns#" term="slides"/><title type='text'>The Path to Symfony in the USA- Presentation from Symfony Live 2011</title><content type='html'>&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/dustin.whittle/the-path-to-symfony-in-the-usa&quot; title=&quot;The Path to Symfony in the USA&quot;&gt;The Path to Symfony in the USA&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div id=&quot;__ss_6853293&quot; style=&quot;width: 425px;&quot;&gt;&lt;object height=&quot;355&quot; id=&quot;__sse6853293&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=the-path-to-symfony-in-the-usa-110208123637-phpapp02&amp;stripped_title=the-path-to-symfony-in-the-usa&amp;userName=dustin.whittle&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse6853293&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=the-path-to-symfony-in-the-usa-110208123637-phpapp02&amp;stripped_title=the-path-to-symfony-in-the-usa&amp;userName=dustin.whittle&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/dustin.whittle&quot;&gt;Dustin Whittle&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/5096094283344298707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/path-to-symfony-in-usa-presentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/5096094283344298707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/5096094283344298707'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/path-to-symfony-in-usa-presentation.html' title='The Path to Symfony in the USA- Presentation from Symfony Live 2011'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-128079587935261652</id><published>2011-02-10T09:18:00.005+01:00</published><updated>2011-02-10T09:36:46.358+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sflive11"/><category scheme="http://www.blogger.com/atom/ns#" term="slides"/><title type='text'>Symfony2 from the Trenches - Presentation from Symfony Live 2011</title><content type='html'>&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/jwage/symfony2-from-the-trenches&quot; title=&quot;Symfony2 from the Trenches&quot;&gt;Symfony2 from the Trenches&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div id=&quot;__ss_6865341&quot; style=&quot;width: 425px;&quot;&gt;&lt;object height=&quot;355&quot; id=&quot;__sse6865341&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2fromthetrenches-110209123435-phpapp01&amp;stripped_title=symfony2-from-the-trenches&amp;userName=jwage&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse6865341&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2fromthetrenches-110209123435-phpapp01&amp;stripped_title=symfony2-from-the-trenches&amp;userName=jwage&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/jwage&quot;&gt;Jonathan Wage&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/128079587935261652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/symfony2-from-trenches-presentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/128079587935261652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/128079587935261652'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/symfony2-from-trenches-presentation.html' title='Symfony2 from the Trenches - Presentation from Symfony Live 2011'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-8638619540828494869</id><published>2011-02-10T09:14:00.002+01:00</published><updated>2011-02-10T09:23:11.034+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sflive11"/><category scheme="http://www.blogger.com/atom/ns#" term="slides"/><category scheme="http://www.blogger.com/atom/ns#" term="template"/><category scheme="http://www.blogger.com/atom/ns#" term="twig"/><title type='text'>Being Dangerous with Twig - Presentation from Symfony Live 2011</title><content type='html'>&lt;div id=&quot;__ss_6866229&quot; style=&quot;width: 425px;&quot;&gt;&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/weaverryan/being-dangerous-with-twig&quot; title=&quot;Being Dangerous with Twig&quot;&gt;Being Dangerous with Twig&lt;/a&gt;&lt;/b&gt;&lt;object height=&quot;355&quot; id=&quot;__sse6866229&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=twig-sflive-sanfran-2011-110209140501-phpapp02&amp;stripped_title=being-dangerous-with-twig&amp;userName=weaverryan&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse6866229&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=twig-sflive-sanfran-2011-110209140501-phpapp02&amp;stripped_title=being-dangerous-with-twig&amp;userName=weaverryan&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/weaverryan&quot;&gt;Ryan Weaver&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/8638619540828494869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/being-dangerous-with-twig-presentation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/8638619540828494869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/8638619540828494869'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/being-dangerous-with-twig-presentation.html' title='Being Dangerous with Twig - Presentation from Symfony Live 2011'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-3902749165825031034</id><published>2011-02-09T14:11:00.004+01:00</published><updated>2011-02-10T09:37:06.764+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="form"/><category scheme="http://www.blogger.com/atom/ns#" term="naming"/><title type='text'>Form naming</title><content type='html'>Here is a short note, never forget to give your Form a name when calling &lt;i&gt;Form::create&lt;/i&gt;:&lt;br /&gt;
&lt;pre&gt;# inside your controller

    public function formAction()
    {
        $context = $this-&amp;gt;get(&#39;form.context&#39;);
        $request = $this-&amp;gt;get(&#39;request&#39;);

        $form = MyForm::create($context, &#39;myform&#39;); // 2nd parameter is the name of the form
        $form-&amp;gt;bind($request);
  
        
        return $this-&amp;gt;render(&#39;MyBundle:Index:form.html.twig&#39;, array(
            &#39;form&#39; =&amp;gt; $form
        ));
    }
&lt;/pre&gt;&lt;br /&gt;
If you forget to pass a name the automatic token check will report everytime an error after submission.</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/3902749165825031034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/form-naming.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/3902749165825031034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/3902749165825031034'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/form-naming.html' title='Form naming'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-1708886980339325809</id><published>2011-02-09T12:38:00.002+01:00</published><updated>2011-02-10T09:37:09.790+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="form"/><category scheme="http://www.blogger.com/atom/ns#" term="translation"/><category scheme="http://www.blogger.com/atom/ns#" term="twig"/><title type='text'>Translate form labels inside Twig templates</title><content type='html'>In this exmaple I assume you&#39;ve a configured transaltion service up and running. This tip works when you&#39;re iterate over loops, like in this example and/or when you print everything out by hand &lt;i&gt;({{ form_label(form.my_field, label) }})&lt;/i&gt;.&lt;br /&gt;
&lt;pre&gt;{% block someblock %}
    &amp;lt;form action=&quot;#&quot; method=&quot;post&quot; {{ form_enctype(form) }}&amp;gt;
        {{ form_errors(form) }}

        {% for field in form %}
            {% if not field.ishidden %}
                &amp;lt;div&amp;gt;
                    &amp;lt;!-- translates the field name (stored in key) and saves it in the variable label --&amp;gt;
                    {% set label %}{% trans field.key %}{% endset %}   
                    
                    &amp;lt;!-- passes the translated name as the second parameter for your own label --&amp;gt;
                    {{ form_label(field, label) }}

                    {{ form_errors(field) }}
                    {{ form_field(field) }}
                &amp;lt;/div&amp;gt;
            {% endif %}
        {% endfor %}

        {{ form_hidden(form) }}
        &amp;lt;input type=&quot;submit&quot; /&amp;gt;
    &amp;lt;/form&amp;gt;
{% endblock %}
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/1708886980339325809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/translate-form-labels-in-twig-template.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/1708886980339325809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/1708886980339325809'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/translate-form-labels-in-twig-template.html' title='Translate form labels inside Twig templates'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8752449613814698654.post-262796423448503420</id><published>2011-02-09T11:52:00.009+01:00</published><updated>2011-02-10T09:37:13.959+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="controller"/><category scheme="http://www.blogger.com/atom/ns#" term="dependency injection"/><category scheme="http://www.blogger.com/atom/ns#" term="service"/><title type='text'>Dependency injection for Controllers</title><content type='html'>To get dependency injection working properbly for controllers in your Symfony2 bundles you have to take care of several things, let&#39;s start with an example service configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Service config&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;# src/MyBundle/Resources/config/config.yml &lt;/pre&gt;&lt;pre&gt;services: 
  view: 
    class: &quot;MyBundle\View&quot;
    shared: true
    arguments: 
      container: &quot;@service_container&quot;
        
  my_bundle_controller_index: 
    class:  &quot;MyBundle\Controller\IndexController&quot;
    shared: true
    arguments: 
      view: &quot;@view&quot;
    calls:
      - [ setContainer, [&quot;@service_container&quot;] ]
&lt;/pre&gt;&lt;br /&gt;
The name of the controller service is &lt;i&gt;my_controller_bundle_index&lt;/i&gt;.&lt;br /&gt;
By default your &lt;i&gt;routing.(yml|xml|php)&lt;/i&gt; file would look like this:&lt;br /&gt;
&lt;pre&gt;# src/MyBundle/Resources/config/routing.yml &lt;/pre&gt;&lt;pre&gt;my_bundle_route:  
  pattern: my/bundle/route  
  defaults: 
    _controller: MyBundle:IndexController:indexAction
&lt;/pre&gt;&lt;br /&gt;
Your service configuration is properly loaded via your dependency injection extension &lt;i&gt;(src/MyBundle/DependencyExtension/MyExtension.php)&lt;/i&gt; but nothing happens, why? In your routing file you have to specifiy the controller with his service name &lt;i&gt;(my_bundle_controller_index)&lt;/i&gt; and not his bundle namepath. Change your routing file to:&lt;br /&gt;
&lt;pre&gt;# src/MyBundle/Resources/config/routing.yml &lt;/pre&gt;&lt;pre&gt;my_bundle_route:  
  pattern: my/bundle/route  
  defaults: 
    _controller: my_bundle_controller_index:indexAction // not: MyBundle:IndexController
&lt;/pre&gt;&lt;br /&gt;
Now everything should work, besides there are some more things you should know:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Your controller should implement the interface &lt;i&gt;ContainerAware&lt;/i&gt; or the base symfony2 controller class &lt;i&gt;symfony\Bundle\FrameworkBundle\Controller\Controller&lt;br /&gt;
&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Your dependency injection extension should load all required configuration files (especially the one with the service vonfiguration)&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Your bundle routes are registered in the &lt;i&gt;app/config/routing.(yml|xml|php)&lt;/i&gt;:&lt;br /&gt;
&lt;pre&gt;# app/config/routing.yml &lt;/pre&gt;&lt;pre&gt;my_bundle:
    resource: &quot;@MyBundle/Resources/config/routing.yml&quot;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;You loaded your bundle config in your &lt;i&gt;app/config(_%environment%).(yml|xml|php)&lt;/i&gt;:  &lt;/li&gt;
&lt;pre&gt;# app/config.yml &lt;/pre&gt;&lt;pre&gt;my_bundle.config: ~
&lt;/pre&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfony2tips.blogspot.com/feeds/262796423448503420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/dependencyinjection-for-controllers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/262796423448503420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8752449613814698654/posts/default/262796423448503420'/><link rel='alternate' type='text/html' href='http://symfony2tips.blogspot.com/2011/02/dependencyinjection-for-controllers.html' title='Dependency injection for Controllers'/><author><name>Sven Eisenschmidt</name><uri>http://www.blogger.com/profile/16827037942750037590</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/-rUN9X-G1ZcM/TZ7LHd1FNDI/AAAAAAAAAJE/uHTJ-eB1tW0/s220/206390_205105092847317_100000434846493_663506_6140108_n.jpg'/></author><thr:total>1</thr:total></entry></feed>