<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Fabien Potencier</title><link>https://fabien.potencier.org/</link><description>Recent content on Fabien Potencier</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 21 Mar 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://fabien.potencier.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Week 1</title><link>https://fabien.potencier.org/week-1.html</link><pubDate>Sat, 21 Mar 2020 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/week-1.html</guid><description>First week of confinement.</description></item><item><title>Symfony 4: Unpack the Packs</title><link>https://fabien.potencier.org/symfony4-unpack-the-packs.html</link><pubDate>Thu, 04 Jan 2018 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-unpack-the-packs.html</guid><description>Introducing a way to unpack the packs.</description></item><item><title>Symfony 4: Performance out of the Box</title><link>https://fabien.potencier.org/symfony4-performance.html</link><pubDate>Mon, 11 Dec 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-performance.html</guid><description>What about Symfony 4 performance? We worked on specific performance improvements for Symfony 4, but several non-performance related core changes help with performance as well.</description></item><item><title>Symfony Flex Private Repositories</title><link>https://fabien.potencier.org/symfony4-flex-private-repositories.html</link><pubDate>Thu, 23 Nov 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-flex-private-repositories.html</guid><description>Private recipes repositories support added to the Symfony Flex server.</description></item><item><title>Symfony 4: An Update on Flex</title><link>https://fabien.potencier.org/symfony4-flex-update.html</link><pubDate>Tue, 21 Nov 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-flex-update.html</guid><description>A quick update on recent changes in Symfony Flex.</description></item><item><title>Symfony 4: Directory Structure Updates</title><link>https://fabien.potencier.org/symfony4-directory-structure-updates.html</link><pubDate>Mon, 03 Jul 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-directory-structure-updates.html</guid><description>After a long discussion in the community, the directory structure was slightly changed.</description></item><item><title>Symfony 4: A quick Demo</title><link>https://fabien.potencier.org/symfony4-demo.html</link><pubDate>Tue, 02 May 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-demo.html</guid><description>Eager to test Symfony 4. At least, the current preview version? Let&amp;rsquo;s do it
now.</description></item><item><title>Symfony 4: Contributing Recipes</title><link>https://fabien.potencier.org/symfony4-contributing-recipes.html</link><pubDate>Tue, 18 Apr 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-contributing-recipes.html</guid><description>The Symfony Recipes are opinionated, but anyone can contribute.</description></item><item><title>Symfony 4: Automate your Workflow</title><link>https://fabien.potencier.org/symfony4-workflow-automation.html</link><pubDate>Thu, 13 Apr 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-workflow-automation.html</guid><description>Time to introduce Symfony Flex, Symfony 4 secret weapon. Learn more about
what it can do for you.</description></item><item><title>Symfony 4: Directory Structure</title><link>https://fabien.potencier.org/symfony4-directory-structure.html</link><pubDate>Mon, 10 Apr 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-directory-structure.html</guid><description>Symfony 4 has a slightly reworked directory structure. Incremental
adjustments to support new features and best practices.</description></item><item><title>Symfony 4: Best Practices</title><link>https://fabien.potencier.org/symfony4-best-practices.html</link><pubDate>Fri, 07 Apr 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-best-practices.html</guid><description>Any major version of a project is an opportunity to revisit its best
practices. Modernizing them. Adapting them to the project&amp;rsquo;s new features.
Symfony 4 is no exception.</description></item><item><title>Symfony 4: Monolith vs Micro</title><link>https://fabien.potencier.org/symfony4-monolith-vs-micro.html</link><pubDate>Wed, 05 Apr 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-monolith-vs-micro.html</guid><description>Monolith projects versus micro-applications; Symfony 4 supports both.</description></item><item><title>Symfony 4: Compose your Applications</title><link>https://fabien.potencier.org/symfony4-compose-applications.html</link><pubDate>Mon, 03 Apr 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony4-compose-applications.html</guid><description>Symfony 4 is going to be much more than just a cleaned-up version of Symfony 3.</description></item><item><title>The Symfony Trademark</title><link>https://fabien.potencier.org/the-symfony-trademark.html</link><pubDate>Tue, 14 Mar 2017 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/the-symfony-trademark.html</guid><description>Symfony is a trademark and I&amp;rsquo;m trying to protect the brand with a trademark policy. Why?</description></item><item><title>Announcing 24 Days of Blackfire</title><link>https://fabien.potencier.org/24-days-of-blackfire.html</link><pubDate>Tue, 01 Dec 2015 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/24-days-of-blackfire.html</guid><description>It&amp;rsquo;s advent calendar time! Discover my new 24 days series about PHP performance optimization.</description></item><item><title>"Create your Own Framework" Series Update</title><link>https://fabien.potencier.org/create-your-own-framework-series-update.html</link><pubDate>Sun, 05 Jul 2015 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-series-update.html</guid><description>Three years ago, I published a series of articles about how to create a framework on top of the Symfony components. An updated version is now available.</description></item><item><title>Blackfire, a new Profiler for PHP Developers</title><link>https://fabien.potencier.org/blackfire-a-new-profiler-for-php-developers.html</link><pubDate>Wed, 15 Apr 2015 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/blackfire-a-new-profiler-for-php-developers.html</guid><description>The one where I talk about my latest project: Blackfire.io</description></item><item><title>PHP CS Fixer finally reaches version 1.0</title><link>https://fabien.potencier.org/php-cs-fixer-finally-reaches-version-1-0.html</link><pubDate>Wed, 12 Nov 2014 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/php-cs-fixer-finally-reaches-version-1-0.html</guid><description>Let&amp;rsquo;s celebrate version 1.0!</description></item><item><title>About Personal Github Accounts</title><link>https://fabien.potencier.org/about-personal-github-accounts.html</link><pubDate>Thu, 06 Nov 2014 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/about-personal-github-accounts.html</guid><description>I&amp;rsquo;m moving most of my projects to Github organizations.</description></item><item><title>The PHP Security Advisories Database</title><link>https://fabien.potencier.org/the-php-security-advisories-database.html</link><pubDate>Sun, 26 Oct 2014 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/the-php-security-advisories-database.html</guid><description>The PHP Security Advisories Database is now public domain and has moved to a new organization.</description></item><item><title>Signing Project Releases</title><link>https://fabien.potencier.org/signing-project-releases.html</link><pubDate>Tue, 05 Aug 2014 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/signing-project-releases.html</guid><description>About a year ago, I started to sign all my Open-Source project releases. Here is how you verify the integrity of what you&amp;rsquo;ve installed in your project.</description></item><item><title>The rise of Composer and the fall of PEAR</title><link>https://fabien.potencier.org/the-rise-of-composer-and-the-fall-of-pear.html</link><pubDate>Mon, 05 May 2014 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/the-rise-of-composer-and-the-fall-of-pear.html</guid><description>The one where I explain my plans about my project PEAR channels.</description></item><item><title>SensioLabs raises 5 million euros to boost the Symfony ecosystem</title><link>https://fabien.potencier.org/sensiolabs-raises-5-million-euros-to-boost-the-symfony-ecosystem.html</link><pubDate>Mon, 16 Dec 2013 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/sensiolabs-raises-5-million-euros-to-boost-the-symfony-ecosystem.html</guid><description>Today, I&amp;rsquo;m really excited to announce that SensioLabs just raised 5 million
euros (about 7 million dollars) to boost Symfony and its ecosystem.</description></item><item><title>Packing a Symfony full-stack Framework Application in one File -- Bootstrapping</title><link>https://fabien.potencier.org/packing-a-symfony-full-stack-framework-application-in-one-file-bootstrapping.html</link><pubDate>Tue, 18 Jun 2013 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/packing-a-symfony-full-stack-framework-application-in-one-file-bootstrapping.html</guid><description>In this second part of the series, we are going to install the Symfony Standard Edition and start cleaning it as much as possible.</description></item><item><title>Packing a Symfony full-stack Framework Application in one File -- Introduction</title><link>https://fabien.potencier.org/packing-a-symfony-full-stack-framework-application-in-one-file-introduction.html</link><pubDate>Mon, 17 Jun 2013 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/packing-a-symfony-full-stack-framework-application-in-one-file-introduction.html</guid><description>This is the first part of a series of articles about packing a Symfony full-stack application in one file. This one explains why this might come in handy and why the challenge itself is interesting.</description></item><item><title>About Symfony: Stability over Features</title><link>https://fabien.potencier.org/about-symfony-stability-over-features.html</link><pubDate>Mon, 15 Apr 2013 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/about-symfony-stability-over-features.html</guid><description>Everybody knows about &amp;ldquo;Convention over Configuration&amp;rdquo; introduced by Rails. What about &amp;ldquo;Stability over Features&amp;rdquo; for Symfony?</description></item><item><title>Don't use PHP libraries with known security issues</title><link>https://fabien.potencier.org/don-t-use-php-libraries-with-known-security-issues.html</link><pubDate>Tue, 19 Feb 2013 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/don-t-use-php-libraries-with-known-security-issues.html</guid><description>The one where I announce the launch of security.sensiolabs.org.</description></item><item><title>Debugging Silex applications just got fun</title><link>https://fabien.potencier.org/debugging-silex-applications-just-got-funnier.html</link><pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/debugging-silex-applications-just-got-funnier.html</guid><description>Enjoy using the Symfony Web Profiler into your Silex application.</description></item><item><title>Why Symfony?</title><link>https://fabien.potencier.org/why-symfony.html</link><pubDate>Fri, 07 Sep 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/why-symfony.html</guid><description>Choosing a PHP framework is not easy. Why would you choose Symfony over framework X?</description></item><item><title>PHP is much better than you think</title><link>https://fabien.potencier.org/php-is-much-better-than-you-think.html</link><pubDate>Wed, 04 Jul 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/php-is-much-better-than-you-think.html</guid><description>Rants about PHP are everywhere but do you really know what PHP can do for you nowadays?</description></item><item><title>Sami: Yet another PHP API documentation generator</title><link>https://fabien.potencier.org/sami-yet-another-php-api-documentation-generator.html</link><pubDate>Tue, 15 May 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/sami-yet-another-php-api-documentation-generator.html</guid><description>Today is my &amp;ldquo;&lt;em>let open source some of my private Github repositories&lt;/em>&amp;rdquo; day,
and more specifically, I&amp;rsquo;m releasing a bunch of code related to documentation.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 12)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-12.html</link><pubDate>Wed, 25 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-12.html</guid><description>In the twelveth part, we are using a dependency injection container to make your framework truly configurable.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 11)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-11.html</link><pubDate>Mon, 23 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-11.html</guid><description>In the eleventh part of the series, we are going to remove most of the code we have written so far!</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 10)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-10.html</link><pubDate>Sat, 21 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-10.html</guid><description>In the tenth part of the series, we are making the applications built with our framework faster thanks to HTTP caching.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 9)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-9.html</link><pubDate>Thu, 19 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-9.html</guid><description>In this ninth part of the series, our framework will become more extensible.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 8)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-8.html</link><pubDate>Tue, 17 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-8.html</guid><description>In this eight part of the series, we are making our framework more robust by writing some unit tests for it.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 7)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-7.html</link><pubDate>Sun, 15 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-7.html</guid><description>In this seventh part of the series, we are looking into refactoring our framework for better reusability.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 6)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-6.html</link><pubDate>Fri, 13 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-6.html</guid><description>In this sixth part of the series, we are going to stat using the HttpKernel component.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 5)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-5.html</link><pubDate>Wed, 11 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-5.html</guid><description>In this fifth part of the series, we are going to talk about controllers.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 4)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-4.html</link><pubDate>Mon, 09 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-4.html</guid><description>In this fourth part of the series, we are going to use the Symfony2 Routing component.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 3)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-3.html</link><pubDate>Sat, 07 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-3.html</guid><description>In this third part of the series, we are going to create our first &amp;ldquo;real&amp;rdquo; framework.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 2)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-2.html</link><pubDate>Thu, 05 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-2.html</guid><description>In this second part of the series, we are going to use the Symfony2 HttpFoundation component.</description></item><item><title>Create your own framework... on top of the Symfony2 Components (part 1)</title><link>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-1.html</link><pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-1.html</guid><description>The first part of a series of articles where I will show you how to create your own framework based on the Symfony2 Components.</description></item><item><title>What is Symfony2?</title><link>https://fabien.potencier.org/what-is-symfony2.html</link><pubDate>Tue, 25 Oct 2011 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/what-is-symfony2.html</guid><description>Last week, I held a keynote presentation about Symfony2 at the Symfony
Day conference in Cologne. Many people asked me for
the slides, but they were quite empty and not that useful. This blog post is
more or less what I&amp;rsquo;ve said during the first part of the talk.</description></item><item><title>The PHP Ternary Operator: Fast or not?</title><link>https://fabien.potencier.org/the-php-ternary-operator-fast-or-not.html</link><pubDate>Sat, 16 Jul 2011 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/the-php-ternary-operator-fast-or-not.html</guid><description>People like micro-optimizations. They are easy to understand, easy to apply&amp;hellip; and useless. But some time ago, while reviewing pull requests for Twig, I read an interesting discussion about the performance of the ternary operator in PHP. Here is what I learned.</description></item><item><title>Pragmatism over Theory: Protected vs Private</title><link>https://fabien.potencier.org/pragmatism-over-theory-protected-vs-private.html</link><pubDate>Tue, 29 Mar 2011 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/pragmatism-over-theory-protected-vs-private.html</guid><description>I often favor pragmatism over theory; probably because programming is how I
earn a living but also because I don&amp;rsquo;t have any computer science degree and
what I know I&amp;rsquo;ve learned from my experience.</description></item><item><title>Twitter and Emails are good; Postcards are better</title><link>https://fabien.potencier.org/twitter-and-emails-are-good-postcards-are-better.html</link><pubDate>Mon, 11 Oct 2010 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/twitter-and-emails-are-good-postcards-are-better.html</guid><description>I have a dream that one day I will receive a postcard each time a new Symfony website is deployed to production.</description></item><item><title>Iterator or IteratorAggregate?</title><link>https://fabien.potencier.org/iterator-or-iteratoraggregate.html</link><pubDate>Thu, 24 Jun 2010 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/iterator-or-iteratoraggregate.html</guid><description>A quick tip on iterators.</description></item><item><title>PHP Iterators and Streams are awesome</title><link>https://fabien.potencier.org/php-iterators-and-streams-are-awesome.html</link><pubDate>Fri, 21 May 2010 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/php-iterators-and-streams-are-awesome.html</guid><description>You should learn how to take advantages of PHP Iterators and Streams.</description></item><item><title>Find your Files</title><link>https://fabien.potencier.org/find-your-files.html</link><pubDate>Thu, 22 Apr 2010 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/find-your-files.html</guid><description>How do you find files and directories with PHP? Do you use Iterators? If not, you probably should&amp;hellip; or keep reading for a better and simpler way.</description></item><item><title>Parsing XML documents with CSS selectors</title><link>https://fabien.potencier.org/parsing-xml-documents-with-css-selectors.html</link><pubDate>Wed, 31 Mar 2010 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/parsing-xml-documents-with-css-selectors.html</guid><description>The one where I talk about the new and shiny Symfony 2 CSS Selector Component, a tool that converts CSS selectors to XPath expressions.</description></item><item><title>Symfony Live Conference, Symfony 2.0, and Dependency Injection</title><link>https://fabien.potencier.org/symfony-live-conference-symfony-2-0-and-dependency-injection.html</link><pubDate>Fri, 19 Feb 2010 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony-live-conference-symfony-2-0-and-dependency-injection.html</guid><description>This has been an amazing week for me,
Symfony, and the whole Symfony community.
With more than 350 attendees coming from more than 30 countries, the Symfony
Live conference was a blast.</description></item><item><title>The state of YAML in PHP</title><link>https://fabien.potencier.org/the-state-of-yaml-in-php.html</link><pubDate>Mon, 21 Dec 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/the-state-of-yaml-in-php.html</guid><description>My first exposure to YAML was in 2001, back in the days when I was mainly working with Perl. When I started to use PHP at the end of 2004, one of the first thing that bothered me immediately was the poor support for YAML.</description></item><item><title>2009 Conferences Wrap-up</title><link>https://fabien.potencier.org/2009-conferences-wrap-up.html</link><pubDate>Tue, 15 Dec 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/2009-conferences-wrap-up.html</guid><description>This year, I traveled in 7 countries for PHP conferences, giving a
total of 12 talks. It has been a very exiting year of conferences for me.</description></item><item><title>Pirum, the Simple PEAR Channel Server Manager</title><link>https://fabien.potencier.org/pirum-the-simple-pear-channel-server-manager.html</link><pubDate>Sat, 28 Nov 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/pirum-the-simple-pear-channel-server-manager.html</guid><description>Some weeks ago during the Zend Conference, I
quietly released
Pirum, a simple PEAR channel server manager.
As some people talk about it on &amp;ldquo;social
networks&amp;rdquo;, I thought I
should write an official announcement on my blog to explain where I come from.</description></item><item><title>PHP 5.3.0 on Mac OS 10.6 (Snow Leopard)</title><link>https://fabien.potencier.org/php-5-3-0-on-mac-os-10-6-snow-leopard.html</link><pubDate>Thu, 05 Nov 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/php-5-3-0-on-mac-os-10-6-snow-leopard.html</guid><description>How I compiled PHP 5.3 on my Snow Leopard laptop.</description></item><item><title>My first Zend Conference was a blast</title><link>https://fabien.potencier.org/my-first-zend-conference-was-a-blast.html</link><pubDate>Sat, 24 Oct 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/my-first-zend-conference-was-a-blast.html</guid><description>This was my first Zend Conference, and I must say I had a great time there. The organization was top notch, there were plenty of good sessions, and the unconference topics proved to be very interesting.</description></item><item><title>Templating engines in PHP - Follow-Up</title><link>https://fabien.potencier.org/templating-engines-in-php-follow-up.html</link><pubDate>Fri, 09 Oct 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/templating-engines-in-php-follow-up.html</guid><description>My post about template engines in PHP had now more than 70 comments, and counting. This follow-up tries to answer the most asked questions.</description></item><item><title>Templating Engines in PHP</title><link>https://fabien.potencier.org/templating-engines-in-php.html</link><pubDate>Wed, 07 Oct 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/templating-engines-in-php.html</guid><description>So, you think PHP is a templating engine? So did I&amp;hellip; for a very long time.
But recently, I changed my mind. Here is why.</description></item><item><title>Swift Mailer Takeover</title><link>https://fabien.potencier.org/swift-mailer-takeover.html</link><pubDate>Wed, 16 Sep 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/swift-mailer-takeover.html</guid><description>As you might have noticed, I&amp;rsquo;m the new project manager of Swift Mailer, a powerful mailing library for PHP.</description></item><item><title>Developers should be Artists</title><link>https://fabien.potencier.org/developers-should-be-artists.html</link><pubDate>Tue, 25 Aug 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/developers-should-be-artists.html</guid><description>During my holidays, I took the chance to step back a little and think about my
day-to-day work. In this post, I try to explain why hacking is really an art.</description></item><item><title>Upcoming conferences</title><link>https://fabien.potencier.org/upcoming-conferences.html</link><pubDate>Mon, 24 Aug 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/upcoming-conferences.html</guid><description>During fall, I will speak at several conferences: the Japan PHP conference in Japan, the Zend PHP conference in the USA, the Forum PHP in France, and the PHP International Conference in Germany.</description></item><item><title>Sourceforge Community Choice Awards: symfony is a Finalist!</title><link>https://fabien.potencier.org/sourceforge-community-choice-awards-symfony-is-a-finalist.html</link><pubDate>Mon, 22 Jun 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/sourceforge-community-choice-awards-symfony-is-a-finalist.html</guid><description>I&amp;rsquo;m proud to announce that symfony has been chosen as a finalist for the Sourceforge
Community Choice Awards.</description></item><item><title>Pimple, the small dependency injection container for PHP 5.3</title><link>https://fabien.potencier.org/pimple-the-small-dependency-injection-container-for-php-5-3.html</link><pubDate>Tue, 16 Jun 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/pimple-the-small-dependency-injection-container-for-php-5-3.html</guid><description>The one where I talk about Pimple.</description></item><item><title>Tweeting from PHP</title><link>https://fabien.potencier.org/tweeting-from-php.html</link><pubDate>Sun, 14 Jun 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/tweeting-from-php.html</guid><description>Twitter is everywhere nowadays. Odds are eventually you will want to tweet
from PHP. No need to use one of the numerous PHP Twitter libraries, as
tweeting is as simple as using the PHP built-in &lt;code>file_get_contents()&lt;/code>
function.</description></item><item><title>Quick SSH Tip</title><link>https://fabien.potencier.org/quick-ssh-tip.html</link><pubDate>Tue, 09 Jun 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/quick-ssh-tip.html</guid><description>If you need to regularly connect to a lot of different servers like I do, you will probably enjoy this tip!</description></item><item><title>What for PHP6?</title><link>https://fabien.potencier.org/what-for-php6.html</link><pubDate>Sun, 07 Jun 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/what-for-php6.html</guid><description>PHP 5.3 is just around the corner with a lot of great new features. But what for PHP 6?</description></item><item><title>On PHP 5.3, Lambda Functions, and Closures</title><link>https://fabien.potencier.org/on-php-5-3-lambda-functions-and-closures.html</link><pubDate>Thu, 16 Apr 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/on-php-5-3-lambda-functions-and-closures.html</guid><description>PHP 5.3 will have a lot of exiting new features, and one of the most important one
for me is the introduction of lambda functions and closures support.</description></item><item><title>Symfony Service Container: The Need for Speed</title><link>https://fabien.potencier.org/symfony-service-container-the-need-for-speed.html</link><pubDate>Thu, 02 Apr 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony-service-container-the-need-for-speed.html</guid><description>During the first five articles of this series on Dependency Injection, we have
progressively introduced the main concepts behind this simple and useful
design pattern. In this last article, we will see how to use some dumpers to have
outstanding performance.</description></item><item><title>Symfony Service Container: Using XML or YAML to describe Services</title><link>https://fabien.potencier.org/symfony-service-container-using-xml-or-yaml-to-describe-services.html</link><pubDate>Wed, 01 Apr 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony-service-container-using-xml-or-yaml-to-describe-services.html</guid><description>With the last article on Dependency Injection, you learned how to describe services with PHP code by
using the sfServiceContainerBuilder class. Today, with the help of service loaders and dumpers, you will learn how to use XML or YAML to describe your services.</description></item><item><title>Symfony Service Container: Using a Builder to create Services</title><link>https://fabien.potencier.org/symfony-service-container-using-a-builder-to-create-services.html</link><pubDate>Tue, 31 Mar 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony-service-container-using-a-builder-to-create-services.html</guid><description>In the previous article
on Dependency Injection, you learned how to use the sfServiceContainer class
to provide a more appealing interface to your service containers. In this
article, we will go one step further and learn how to leverage the
sfServiceContainerBuilder class to describe services and their configuration
in pure PHP code.</description></item><item><title>Introduction to the Symfony Service Container</title><link>https://fabien.potencier.org/introduction-to-the-symfony-service-container.html</link><pubDate>Mon, 30 Mar 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/introduction-to-the-symfony-service-container.html</guid><description>Until now in this series on Dependency Injection, we have talked about general
concepts. These two introductory articles were important to better understand
the implementation we will talk about in this article and in the following
ones. It is now time to dive into the Symfony 2 service container
implementation.</description></item><item><title>Do you need a Dependency Injection Container?</title><link>https://fabien.potencier.org/do-you-need-a-dependency-injection-container.html</link><pubDate>Sat, 28 Mar 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/do-you-need-a-dependency-injection-container.html</guid><description>In the first installment
of this series on Dependency Injection, I have tried to give concrete web
examples of Dependency Injection in action. Today, I will talk about
Dependency Injection Containers.</description></item><item><title>What is Dependency Injection?</title><link>https://fabien.potencier.org/what-is-dependency-injection.html</link><pubDate>Thu, 26 Mar 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/what-is-dependency-injection.html</guid><description>This article is the first of a series on Dependency Injection in general and
the implementation of a Dependency Injection Container in PHP.</description></item><item><title>Short URLs</title><link>https://fabien.potencier.org/short-urls.html</link><pubDate>Fri, 06 Mar 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/short-urls.html</guid><description>Websites like Twitter makes URL shortener services a must. My main concern with URL shortening is that you loose all the meaning embedded in the URLs. I wanted a shortener URL service that gives short URLs, but also keep some
sort of meaningful information about the original URL.</description></item><item><title>PHP Serialization, Stack Traces, and Exceptions</title><link>https://fabien.potencier.org/php-serialization-stack-traces-and-exceptions.html</link><pubDate>Wed, 11 Feb 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/php-serialization-stack-traces-and-exceptions.html</guid><description>Yesterday, I fixed a &lt;a href="http://trac.symfony-project.org/ticket/5267">bug&lt;/a> that
looks very weird at first. In this post, I will describe the problem, the
solution I found, and explain some PHP behaviors in the process.</description></item><item><title>print vs echo, which one is faster?</title><link>https://fabien.potencier.org/print-vs-echo-which-one-is-faster.html</link><pubDate>Wed, 04 Feb 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/print-vs-echo-which-one-is-faster.html</guid><description>As probably many of you, I am tired to read blog posts about non-sense
micro-optimizations like replacing &lt;code>print&lt;/code> by &lt;code>echo&lt;/code>, &lt;code>++$i&lt;/code> by &lt;code>$i++&lt;/code>, or
double quotes by single quotes. Why? Because 99.999999% of the time, you don&amp;rsquo;t
care. Why? Because 99.99% of the time, you&amp;rsquo;d better install a PHP accelerator
like APC, or add these missing indexes on some
database columns, or try to avoid those 1000 database requests per page.</description></item><item><title>Getting information from SVN with PHP</title><link>https://fabien.potencier.org/getting-information-from-svn-with-php.html</link><pubDate>Tue, 03 Feb 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/getting-information-from-svn-with-php.html</guid><description>Last year, I deployed a new tool to manage symfony plugins.
The first goal of this tool was to simplify the process of contributing new plugins. It proved to be very successful,
and I had a good feeling that the plugin creation rate was rising since then. And yesterday, I wanted to have
hard numbers to back me up.</description></item><item><title>Twitto - A web framework in a tweet</title><link>https://fabien.potencier.org/twitto-a-web-framework-in-a-tweet.html</link><pubDate>Sat, 10 Jan 2009 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/twitto-a-web-framework-in-a-tweet.html</guid><description>Some days ago, I started to use &lt;a href="http://twitter.com/fabpot">twitter&lt;/a>. I am not sure how it will works for me, but I will try to do some experiments with it.</description></item><item><title>Jobeet: The symfony 1.2 advent calendar</title><link>https://fabien.potencier.org/jobeet-the-symfony-1-2-advent-calendar.html</link><pubDate>Tue, 02 Dec 2008 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/jobeet-the-symfony-1-2-advent-calendar.html</guid><description>Just after the &lt;a href="http://www.symfony-project.org/blog/2008/12/01/symfony-1-2-is-already-available">immediate availability of symfony 1.2&lt;/a>, I was very proud to announce the &lt;a href="http://www.symfony-project.org/blog/2008/12/01/do-you-know-jobeet">2008 symfony advent calendar&lt;/a>: &lt;strong>&lt;a href="http://www.symfony-project.org/jobeet/1_2/en/">Jobeet&lt;/a>&lt;/strong>.</description></item><item><title>A symfony tip: Unit test your Propel classes</title><link>https://fabien.potencier.org/a-symfony-tip-unit-test-your-propel-classes.html</link><pubDate>Fri, 03 Oct 2008 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-unit-test-your-propel-classes.html</guid><description>Learn how to easily test your Propel classes</description></item><item><title>A symfony tip: Tweak Template Names</title><link>https://fabien.potencier.org/a-symfony-tip-tweak-template-names.html</link><pubDate>Sun, 17 Feb 2008 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-tweak-template-names.html</guid><description>Learn how to customize the template used by your actions.</description></item><item><title>symfony 1.1 form framework and the MVC pattern</title><link>https://fabien.potencier.org/symfony-1-1-form-framework-and-the-mvc-pattern.html</link><pubDate>Tue, 15 Jan 2008 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/symfony-1-1-form-framework-and-the-mvc-pattern.html</guid><description>In this post, I try to explain the philosophy behind the new symfony form framework and how it sticks to the MVC pattern.</description></item><item><title>A symfony tip: Customize Propel Generated SQL</title><link>https://fabien.potencier.org/a-symfony-tip-customize-propel-generated-sql.html</link><pubDate>Sat, 08 Dec 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-customize-propel-generated-sql.html</guid><description>Learn how to customize the Propel generated SQL by executing some SQL statements after the &lt;code>propel-insert-sql&lt;/code> task (&lt;code>propel:insert-sql&lt;/code> in symfony 1.1).</description></item><item><title>A symfony tip: Upgrade a project running symfony 1.0</title><link>https://fabien.potencier.org/a-symfony-tip-upgrade-a-project-running-symfony-1-0.html</link><pubDate>Tue, 20 Nov 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-upgrade-a-project-running-symfony-1-0.html</guid><description>Learn how to stay up to date with the symfony 1.0 branch.</description></item><item><title>A symfony tip: "Your name here"</title><link>https://fabien.potencier.org/a-symfony-tip-your-name-here.html</link><pubDate>Thu, 08 Nov 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-your-name-here.html</guid><description>Learn how to automatically customize the symfony generated classes author name.</description></item><item><title>A symfony tip: Rename a symfony Module</title><link>https://fabien.potencier.org/a-symfony-tip-rename-a-symfony-module.html</link><pubDate>Tue, 06 Nov 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-rename-a-symfony-module.html</guid><description>Learn how to rename a symfony module step by step.</description></item><item><title>A symfony tip: Rename a symfony Application</title><link>https://fabien.potencier.org/a-symfony-tip-rename-a-symfony-application.html</link><pubDate>Mon, 05 Nov 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-rename-a-symfony-application.html</guid><description>Learn how to rename a symfony application step by step.</description></item><item><title>A symfony tip: Clear the cache without the command line</title><link>https://fabien.potencier.org/a-symfony-tip-clear-the-cache-without-the-command-line.html</link><pubDate>Sat, 03 Nov 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/a-symfony-tip-clear-the-cache-without-the-command-line.html</guid><description>Learn how to clear the symfony cache without using the command line.
This tip is quite useful if you only have FTP access to your production server.</description></item><item><title>Welcome to my Blog</title><link>https://fabien.potencier.org/welcome-to-my-blog.html</link><pubDate>Thu, 01 Nov 2007 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/welcome-to-my-blog.html</guid><description>Welcome to my blog!</description></item><item><title>About</title><link>https://fabien.potencier.org/about.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://fabien.potencier.org/about.html</guid><description> You are reading a blog about web technologies. It's written by Fabien Potencier &amp;mdash; fabpot, the founder of , , and the project. My Open-Source Projects Symfony Twig PHP Coding Standards Fixer Pimple ... and many more on fabpot , symfony , and FriendsOfPHP Some older Open-Source Projects Silex SwiftMailer Goutte Sismo My PGP Key My fingerprint: DD4E C589 15FF 888A 8A3D D898 EB8A A69A 566C 0795</description></item></channel></rss>