Keynote, PHP World Kongress Munich

26
PHP Straßenkreuzun g 24./25. November 2009 München

description

Slides for my keynote for the PHP World Kongress, Munich 2009

Transcript of Keynote, PHP World Kongress Munich

Page 1: Keynote, PHP World Kongress Munich

PHPStraßenkreuzung

24./25. November 2009München

Page 2: Keynote, PHP World Kongress Munich

Stay in contact

http://twitter.com/pierrejoye

http://www.facebook.com/pierre.joye

http://www.linkedin.com/in/pierrejoye

http://www.xing.com/profile/Pierre_Joye

[email protected]

Page 3: Keynote, PHP World Kongress Munich

?

??5.25.3

4 !?

??

??

??

??

6 ?!

Page 4: Keynote, PHP World Kongress Munich

Die Geschichte von PHPPH

P 4.

04.

14.

24.

34.

4

5.0

5.1

5.2

5.3

Nex

t?

2000 2004

2001

2001

2002

2005

2005

2006

2009

2012

Page 5: Keynote, PHP World Kongress Munich

Gu

te (

alt

e)

Nach

rich

tS

ch

lech

te N

ach

rich

t

Page 6: Keynote, PHP World Kongress Munich

intl

namespace

enchant

closure

windows

ifsetor

phar

Page 7: Keynote, PHP World Kongress Munich

Ifsetor$id = $_GET['id'] ?: 0;

var_dump($id);

Page 8: Keynote, PHP World Kongress Munich

Namespace\includenamespace Foo\Bar\subnamespace; const FOO = 'Foo\\Bar\\subnamespace'; function foo() {} class foo {

static function staticmethod() {

echo "static method Foo\\Bar\\subnamespace"; } }

Page 9: Keynote, PHP World Kongress Munich

Namespaceinclude 'namespace1_inc.php';const FOO = 'Foo\\Bar';function foo() {}class foo {

static function staticmethod() {echo "static method Foo\\Bar";

}}

Page 10: Keynote, PHP World Kongress Munich

Namespace\unqualified/* Unqualified name */foo::staticmethod();echo FOO;

Page 11: Keynote, PHP World Kongress Munich

Namespace\qualifiedsubnamespace\foo::staticmethod();echo subnamespace\FOO;

Page 12: Keynote, PHP World Kongress Munich

Namespace\fully\qualified\Foo\Bar\foo();

\Foo\Bar\foo::staticmethod();

echo \Foo\Bar\FOO;

Page 13: Keynote, PHP World Kongress Munich

Closures$myarray = array(3, 9, 2);$myarray = array_filter(

$myarray,function ($elm) {

return $elm > 5;}

);var_dump($myarray);

Page 14: Keynote, PHP World Kongress Munich

static vs self w/ lsbclass Base {

public static function m() { self::printName();

static::printName();}static function printName() {

echo __CLASS__; echo '<br />';}

}Base::m();

Page 15: Keynote, PHP World Kongress Munich

static vs self w/ lsbclass Extended extends Base {

static function printName() {echo __CLASS__;echo '<br />';

}}

Page 16: Keynote, PHP World Kongress Munich

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));

Page 17: Keynote, PHP World Kongress Munich

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

the phar

Page 18: Keynote, PHP World Kongress Munich

enchant UTF-8 support MySpell/HunSpell (OpenOffice)

support Zemberek (Tuerkisch) One API AppleSpell on Mac OS X Aspell/Pspell

Page 19: Keynote, PHP World Kongress Munich
Page 20: Keynote, PHP World Kongress Munich
Page 21: Keynote, PHP World Kongress Munich

noSQL

NoOS

Page 22: Keynote, PHP World Kongress Munich
Page 23: Keynote, PHP World Kongress Munich

•CouchDB

•MongoDB

•MemCache(d)

•SimpleDB

Page 24: Keynote, PHP World Kongress Munich

•Mashups

•JS

•Apps

•Web 2.0 apps

Page 25: Keynote, PHP World Kongress Munich
Page 26: Keynote, PHP World Kongress Munich