PHP, Symfony & Software lifecycle
Pierre Joye
Pierre Joye
@pierrejoye
pierre@php.net
IRC Freenode, EFNet
@Pierre
Pierre Joye
PHP (core) Developer
PHP Bugs Generator
The crazy guy behind PHP/Windows
Portability Fanatic
Pierre Joye
Works with the Ancient Dark Side

OpenSource Tech Center/Microsoft

I Worked w/Johann@Mayflower too
Won’t talk too much
 about Symfony
Who uses PHP?
Who uses Symfony?
Professionally?
phar                  intl

          ifsetor


enchant             windows


          closure


                    namespace
Closures
$myarray = array(3, 9, 2);
$myarray = array_filter(
     $myarray,
     function ($elm) {
            return $elm > 5;
     }
);
var_dump($myarray);
intl
$fmt2 = new
MessageFormatter("de_DE", "{0,number,integer}
Affen auf {1,number,integer} Baumen sind {2,number}
Affen pro Baum");
echo $fmt2->format(array(4560, 123, 4560/123));
echo "<br />";

$fmt = new
MessageFormatter("en_US", "{0,number,integer}
monkeys on {1,number,integer} trees make
{2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
phar

• Jar for PHP
• Easy way to distribute
  applications
• Custom format or use tar/zip
• Mapping requests to a file inside
  the phar
enchant

• UTF-8 support
• MySpell/HunSpell (OpenOffice)
  support
• Zemberek (Tuerkisch)
• One API
• AppleSpell on Mac OS X
• Aspell/Pspell
Developpers?
Designers?
    Project managers?
CTO?
                CEO?
Java   C   PHP   Ruby


                        Java


                        C




                               Fanboyz
                        PHP



                        Ruby
PHP is ugly
PHP is incosistent
PHP core has no plan
Not enough releases!
Right!
But… 
It is not about Art
It is not about Beauty
We are not Artists
We are craftsmen
Aspiring to be Masters
Before he could be elected to become a master
craftsman. He would then have to produce a sum of
money and a masterpiece before he could actually join
the guild.
Wikipedia (http://en.wikipedia.org/wiki/Master_craftsman)
#4 in The Tiobe Index
             x4 more popular than Ruby

       x2 more popular than Python or C#
  http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Horde of Idiots use it
until recently :->
Seven of the top #10 Site in Germany use
Frameworks?
Symfony let you focus on
     Your business
Symfony enforces cleanness
And prevent you
    to develop
the best framework
   we ever seen
   (NB: We never asked to see another one)
Or at least ensure
that everyone else
  can follow your
 (organized) chaos
Release management?
History Of PHP



2000         2004       2011
PHP(.net) Release Cycles

•   3-4 releases per year
•   Almost 3 Years support
•   Mostly full BC within a branch
•   Security release during lifetime
PHP Release Cycles

• Many updates per year
• 5+ Years support
• Security release during lifetime
History Of Symfony



2007              2011      2013
Symfony 2+ Release Cycles

•   Yearly release
•   Up to 3 Years support
•   Full BC for the branch lifetime
•   Secutiry releases, no limit
Is PHP the bottleneck?
noSQL
        NoOS
• CouchDB


• MongoDB


• MemCache(d)


• Membase
Image from http://en.wikipedia.org/wiki/File:Cumulus_clouds_panorama.jpg
Fail Fast,
Fail Cheap,
Be lazy.
Rasmus Lersdorf
Scrum Architecture
What else?
Thank you

Php Symfony and software-life-cycle

Editor's Notes

  • #4 Stay in contact
  • #5 Stayin contact
  • #7 That’s for the keynote users ;)
  • #11 Do you know the new features or improvement in 5.3?
  • #12 +30% speed improvement (EZ for example)
  • #21 But that’s the plan 
  • #22 But that’s the plan 
  • #23 But that’s the plan 
  • #24 But that’s the plan 
  • #36 Use now hiphop.Up to 300M Users, ALWAYS clicking on refresh, chatting, posting, etc.
  • #37 Patents, sun, mysql, unknown roadmap
  • #39 T-OnlineYahooWerKennt WenSchueler-VZstudiVZPro7MeinVZ
  • #40 Why?
  • #42 We can still write crap
  • #45 Release what?
  • #47 Via php.net
  • #48 Via linux distributions
  • #49 1.0. 22 releases, EOL 2010!1.1 9 releases1.2 12 releases1.3 8 releases1.4 8 releases
  • #50 ConvinceDistros to package and support release
  • #51 In your projectsYou have other issues to solve than switching to another language.
  • #52 We are at a crossroad
  • #53 Industralization
  • #54 Support all major and dying OSes
  • #55 NoSql is an evolution, No OS is the revolution
  • #56 NoSql, persistent, almost persistent, eventually persistent
  • #57 NoSql, persistent, almost persistent, eventually persistentNode.jsEtc.
  • #58 The cloud? PHP is theretoo.
  • #62 NoSql is an evolution, No OS is the revolution