<?xml version="1.0" encoding="utf-8"?>
<feed
    xmlns="http://www.w3.org/2005/Atom"
    xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
    xmlns:re="http://purl.org/atompub/rank/1.0"
>
    <title type="text">KnpLabs Blog − by Symfony2 experts</title>
    <subtitle>Learn the latest Symfony2 and PHP hints from our Symfony experts!</subtitle>
    <link rel="self" href="http://knplabs.com/blog/rss.xml" type="application/atom+xml" />
    <link rel="alternate" href="http://knplabs.com/blog" type="application/atom+xml" />
    <updated>2012-02-20CET14:50:02+01:00</updated>
    <id>http://knplabs.com/blog/rss.xml</id>
    <creativeCommons:license>http://www.creativecommons.org/licenses/by-nc/2.5/rdf</creativeCommons:license>
            <entry>
        <id>http://knplabs.com/blog/poland-symfony-office</id>
        <re:rank scheme="http://knplabs.com">1</re:rank>
        <title type="text">We&#039;ll be there for you in Poland too!</title>
        <link rel="alternate" href="http://knplabs.com/blog/poland-symfony-office" />
        <author>
            <name>Matthieu Bontemps</name>
        </author>
        <published>2012-02-16CET00:00:00+01:00</published>
        <updated>2012-02-16CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Hello Poland!&lt;/p&gt;

&lt;p&gt;From now on we&#039;ll be officially offering our services in Poland − a great country with great developers!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/gedmo-doctrine-extensions-on-symfony2</id>
        <re:rank scheme="http://knplabs.com">2</re:rank>
        <title type="text">Gedmo doctrine extensions in symfony2</title>
        <link rel="alternate" href="http://knplabs.com/blog/gedmo-doctrine-extensions-on-symfony2" />
        <author>
            <name>Gediminas Morkevičius</name>
        </author>
        <published>2012-02-07CET00:00:00+01:00</published>
        <updated>2012-02-07CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Configure full featured &lt;a href=&quot;http://github.com/l3pp4rd/DoctrineExtensions&quot;&gt;Doctrine2 extensions&lt;/a&gt; for your symfony2 project.
This post will show you - how to create a simple configuration file to manage extensions with
ability to use all features it provides.
Interested? then bear with me! and don&#039;t be afraid, we&#039;re not diving into security component :)&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/kiev-symfony-office</id>
        <re:rank scheme="http://knplabs.com">3</re:rank>
        <title type="text">We&#039;re opening an office in Kiev</title>
        <link rel="alternate" href="http://knplabs.com/blog/kiev-symfony-office" />
        <author>
            <name>Matthieu Bontemps</name>
        </author>
        <published>2012-02-06CET00:00:00+01:00</published>
        <updated>2012-02-06CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Great news today: we&#039;re now offering our services as Symfony2 experts for start-ups in Kiev (Ukraine)!&lt;/p&gt;

&lt;p&gt;And if you&#039;re a great Symfony2 developer: we&#039;re hiring!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/knpbundles-now-uses-rabbitmq</id>
        <re:rank scheme="http://knplabs.com">4</re:rank>
        <title type="text">KnpBundles is now using RabbitMQ</title>
        <link rel="alternate" href="http://knplabs.com/blog/knpbundles-now-uses-rabbitmq" />
        <author>
            <name>Romain Pouclet</name>
        </author>
        <published>2012-02-03CET00:00:00+01:00</published>
        <updated>2012-02-03CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;There are already over a thousand Symfony2 bundles registered on &lt;a href=&quot;http://knpbundles.com&quot;&gt;KnpBundles.com&lt;/a&gt;, which is awesome if you ask me. Have you ever wondered how the update process works?&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/knpbundles-got-a-bit-more-love</id>
        <re:rank scheme="http://knplabs.com">5</re:rank>
        <title type="text">KnpBundles got a bit more love</title>
        <link rel="alternate" href="http://knplabs.com/blog/knpbundles-got-a-bit-more-love" />
        <author>
            <name>Geoffrey Bachelet</name>
        </author>
        <published>2012-01-24CET00:00:00+01:00</published>
        <updated>2012-01-24CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;You may have noticed already, but &lt;a href=&quot;http://knpbundles.com/&quot;&gt;KnpBundles&lt;/a&gt; received an update yesterday.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/vim-behat</id>
        <re:rank scheme="http://knplabs.com">6</re:rank>
        <title type="text">Behat plugin for vim</title>
        <link rel="alternate" href="http://knplabs.com/blog/vim-behat" />
        <author>
            <name>Vincent Velociter</name>
        </author>
        <published>2012-01-19CET00:00:00+01:00</published>
        <updated>2012-01-19CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;&lt;strong&gt;Given&lt;/strong&gt; you are a vim user who loves behat&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When&lt;/strong&gt; you write your behat scenarios&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then&lt;/strong&gt; you should use the behat plugin for vim!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/ryan-weaver-best-symfony-contributor</id>
        <re:rank scheme="http://knplabs.com">7</re:rank>
        <title type="text">Ryan Weaver wins the Best Symfony Contributor award</title>
        <link rel="alternate" href="http://knplabs.com/blog/ryan-weaver-best-symfony-contributor" />
        <author>
            <name>Matthieu Bontemps</name>
        </author>
        <published>2012-01-17CET00:00:00+01:00</published>
        <updated>2012-01-17CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;A few days ago, results of the &lt;a href=&quot;http://symfony.com/blog/announcing-the-winner-of-the-first-symfony-community-awards&quot;&gt;Symfony awards for 2011&lt;/a&gt; were announced.&lt;/p&gt;

&lt;p&gt;Oh oh it seems like we won something!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/redirect-after-registration-in-symfony2</id>
        <re:rank scheme="http://knplabs.com">8</re:rank>
        <title type="text">Redirecting after Registration in Symfony2</title>
        <link rel="alternate" href="http://knplabs.com/blog/redirect-after-registration-in-symfony2" />
        <author>
            <name>Roman Marintsenko &amp; Ryan Weaver</name>
        </author>
        <published>2012-01-13CET00:00:00+01:00</published>
        <updated>2012-01-13CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Ever wonder how to redirect a new user back to her last visited page after registration?
We&#039;ll show you how easy it is by taking advantage of some security iternals.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/knpu-free-screencast</id>
        <re:rank scheme="http://knplabs.com">9</re:rank>
        <title type="text">Free Beer, ahem, KnpUniversity Screencast!</title>
        <link rel="alternate" href="http://knplabs.com/blog/knpu-free-screencast" />
        <author>
            <name>Leanna Pelham and Ryan Weaver</name>
        </author>
        <published>2012-01-09CET00:00:00+01:00</published>
        <updated>2012-01-09CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Ok well, actually there isn&#039;t any free beer... but, we have something even better! We are offering a limited number of &#039;Starting in Symfony2 Tutorial&#039; videos for bloggers!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/web-api-description-behat</id>
        <re:rank scheme="http://knplabs.com">10</re:rank>
        <title type="text">Describing Web API with Behat *.feature(s)</title>
        <link rel="alternate" href="http://knplabs.com/blog/web-api-description-behat" />
        <author>
            <name>Konstantin Kudryashov (everzet)</name>
        </author>
        <published>2012-01-03CET00:00:00+01:00</published>
        <updated>2012-01-03CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;&lt;em&gt;&quot;Can we test Web API of our website with Behat?&quot;&lt;/em&gt;. We hear this question alot
in Behat user group, twitter and emails. Although it&#039;s not so complex task as
web UI testing (say hello to Mink), it still raises some question, that we will
try to answer today.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/symfony2-with-composer</id>
        <re:rank scheme="http://knplabs.com">11</re:rank>
        <title type="text">Installing and using Symfony2 with Composer</title>
        <link rel="alternate" href="http://knplabs.com/blog/symfony2-with-composer" />
        <author>
            <name>Konstantin Kudryashov (everzet)</name>
        </author>
        <published>2012-01-02CET00:00:00+01:00</published>
        <updated>2012-01-02CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Are you tired of managing the deps and deps.lock files? Want to install
BehatBundle without editing 3 files simultaneously and reading a long list
of Mink dependencies that you need to place in &lt;code&gt;deps&lt;/code&gt;? &lt;a href=&quot;http://packagist.org/about-composer&quot;&gt;Composer&lt;/a&gt; to rescue!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/behat-like-a-boss-meta-steps</id>
        <re:rank scheme="http://knplabs.com">12</re:rank>
        <title type="text">Behat like a boss: meta-steps</title>
        <link rel="alternate" href="http://knplabs.com/blog/behat-like-a-boss-meta-steps" />
        <author>
            <name>Geoffrey Bachelet</name>
        </author>
        <published>2011-12-15CET00:00:00+01:00</published>
        <updated>2011-12-15CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Previously, in &quot;Behat like a boss&quot;, we learned [how to write custom steps](path:[&quot;blog_show&quot;, {&quot;key&quot;:&quot;behat-like-a-boss-wirting-custom-steps&quot;}]).
One thing that bothered me when I first discovered Behat and started writing custom
steps was that I had to know an existing step&#039;s method name (e.g. &lt;code&gt;visit&lt;/code&gt;) in
order to reuse it in my steps. Actually, you don&#039;t have to, there is a very
simple way to use an existing step, and even create a step that runs
multiple steps at the same time.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/behat-2-2</id>
        <re:rank scheme="http://knplabs.com">13</re:rank>
        <title type="text">Behat 2.2: Bunch of new features</title>
        <link rel="alternate" href="http://knplabs.com/blog/behat-2-2" />
        <author>
            <name>Konstantin Kudryashov (everzet)</name>
        </author>
        <published>2011-12-14CET00:00:00+01:00</published>
        <updated>2011-12-14CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Yeehoo, it&#039;s here! Behat 2.2 is finally released and has amazing new features for you to play with.
&quot;Multiple formats output&quot;, &quot;Output color settings&quot;, &quot;Couple of new formatters&quot; if this all means
something to you - continue reading.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/knpbundles-recent-changes</id>
        <re:rank scheme="http://knplabs.com">14</re:rank>
        <title type="text">KnpBundles is growing fast!</title>
        <link rel="alternate" href="http://knplabs.com/blog/knpbundles-recent-changes" />
        <author>
            <name>Alexandr Torchenko</name>
        </author>
        <published>2011-12-13CET00:00:00+01:00</published>
        <updated>2011-12-13CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;We are proud of maintaining KnpBundles, &lt;a href=&quot;http://knpbundles.com&quot;&gt;the famous unofficial web resource for Symfony2 bundles&lt;/a&gt;, and we&#039;re commited to making it really useful and usable. That&#039;s why some of our Knp ninjas spent their last &quot;geek time&quot; fridays working on it…&lt;/p&gt;

&lt;p&gt;We would like to introduce the latest changes: showing the trending bundles and evolution page, GitHub connect and bundles recommendations.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/introducing-knp-university</id>
        <re:rank scheme="http://knplabs.com">15</re:rank>
        <title type="text">Meet KnpUniversity.com: | PHP Training in your Pajamas</title>
        <link rel="alternate" href="http://knplabs.com/blog/introducing-knp-university" />
        <author>
            <name>Ryan &amp; Leanna</name>
        </author>
        <published>2011-12-13CET00:00:00+01:00</published>
        <updated>2011-12-13CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;After months of hard work by Matthieu, stof, everzet, Romain, and others,
we finally gave up on building the teleportation device we hoped would take
us into the living rooms of devs everywhere. So, we thought, how else can
we coach people in PHP, Behat, and Symfony?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Of course, screencasts.&lt;/strong&gt; Meet KnpUniversity.com, our latest experiment.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/first-behat-bdd-training</id>
        <re:rank scheme="http://knplabs.com">16</re:rank>
        <title type="text">The first Behat &amp; BDD training</title>
        <link rel="alternate" href="http://knplabs.com/blog/first-behat-bdd-training" />
        <author>
            <name>Matthieu Bontemps, Konstantin Kudryashov aka everzet</name>
        </author>
        <published>2011-12-07CET00:00:00+01:00</published>
        <updated>2011-12-07CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Behat is the BDD framework for PHP which allows you to define and test your application with natural language.&lt;/p&gt;

&lt;p&gt;We&#039;ve been working on it at KnpLabs for quite some time with the help of an incredible community.
And today thanks to him and to an awesome community effort Behat is a great and stable product.&lt;/p&gt;

&lt;p&gt;Now it&#039;s time for KnpLabs to offer &lt;strong&gt;Behat and BDD trainings&lt;/strong&gt;!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/stloyd-joins-our-symfony-team</id>
        <re:rank scheme="http://knplabs.com">17</re:rank>
        <title type="text">Stloyd joins the KnpLabs team</title>
        <link rel="alternate" href="http://knplabs.com/blog/stloyd-joins-our-symfony-team" />
        <author>
            <name>Matthieu Bontemps</name>
        </author>
        <published>2011-12-05CET00:00:00+01:00</published>
        <updated>2011-12-05CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Józef Bielawski − aka &lt;a href=&quot;https://github.com/stloyd&quot;&gt;&lt;strong&gt;stloyd&lt;/strong&gt;&lt;/a&gt;, a very familiar face of the Symfony2 community - just joined the KnpLabs team!&lt;/p&gt;

&lt;p&gt;Welcome, mate!&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/behat-like-a-boss-wirting-custom-steps</id>
        <re:rank scheme="http://knplabs.com">18</re:rank>
        <title type="text">Behat like a boss: writing custom steps</title>
        <link rel="alternate" href="http://knplabs.com/blog/behat-like-a-boss-wirting-custom-steps" />
        <author>
            <name>Geoffrey Bachelet</name>
        </author>
        <published>2011-12-05CET00:00:00+01:00</published>
        <updated>2011-12-05CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;Today we are starting a series of blog posts about the internals of Behat, as in &quot;the tool you use to do BDD&quot;. This series will be focusing on using Behat (assuming you already have it running), not on how to BDD right. This first post&#039;s entry barrier is quite low, as I&#039;m going to show you how to write custom steps for your features (we&#039;re also going to do a bit of regexps, but don&#039;t be afraid!).&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/update-deps-fatal-info-refs-not-found</id>
        <re:rank scheme="http://knplabs.com">19</re:rank>
        <title type="text">Update your Knp* file deps to solve /info/refs not found</title>
        <link rel="alternate" href="http://knplabs.com/blog/update-deps-fatal-info-refs-not-found" />
        <author>
            <name>Matthieu</name>
        </author>
        <published>2011-12-03CET00:00:00+01:00</published>
        <updated>2011-12-03CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;If you use Knp bundles (KnpMenuBundle or KnpPaginatorBundle for example), please update your &lt;code&gt;deps&lt;/code&gt; file or &lt;code&gt;.gitmodules&lt;/code&gt; file to reflect the username case change from knplabs to KnpLabs.&lt;/p&gt;

        </summary>
    </entry>
            <entry>
        <id>http://knplabs.com/blog/knplabs-japan-behat-symfony-training-en</id>
        <re:rank scheme="http://knplabs.com">20</re:rank>
        <title type="text">KnpLabs offers Behat and Symfony2 trainings in Japan</title>
        <link rel="alternate" href="http://knplabs.com/blog/knplabs-japan-behat-symfony-training-en" />
        <author>
            <name>Hidenori Goto and Matthieu Bontemps</name>
        </author>
        <published>2011-12-01CET00:00:00+01:00</published>
        <updated>2011-12-01CET00:00:00+01:00</updated>
        <summary type="html">
            &lt;p&gt;&lt;strong&gt;English&lt;/strong&gt;:&lt;br /&gt;
There is a growing interest in BDD, quality development, and Symfony in Japan.&lt;br /&gt;
And also wonderful people.&lt;/p&gt;

&lt;p&gt;So from today KnpLabs is offering Behat and Symfony2 trainings in Japan - and in japanese!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Japanese&lt;/strong&gt;:&lt;br /&gt;
世界中で BDD、開発の効率化と品質向上（Quality Development）、および Symfony2 に対する関心が高まっており、日本の開発コミュニティでもこのようなテーマに注目が集まっています。
多くの要望を受け、日本での Behat と Symfony2 のトレーニングサービスを KnpLabs で開始いたします！&lt;/p&gt;

        </summary>
    </entry>
    </feed>

