Slide 1

Slide 1 text

What’s next? Taking PHP to the next level @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 2

Slide 2 text

You! You! Who are you? What do you do? @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 3

Slide 3 text

Landscape An overview of the PHP world @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 4

Slide 4 text

From the museum ... up to here today @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 5

Slide 5 text

~83 000 @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 6

Slide 6 text

~700 000 @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 7

Slide 7 text

~73 799 102 @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 8

Slide 8 text

Namespaces\\ @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 9

Slide 9 text

Namespaces!! @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 10

Slide 10 text

Closures & λ's (lambdas) Just like javascript... @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 11

Slide 11 text

$lambda = function() { ... } @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 12

Slide 12 text

$foo = ‘bar’; $cls = function() use ($foo) { return $foo; }; echo $cls(); @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 13

Slide 13 text

$f = function() { ... } @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 14

Slide 14 text

LSB GC Functors Phar $Dynamic::$Statics SPL Short Ternaries (?:) __DIR__ @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 15

Slide 15 text

LSB GC Functors Phar $Dynamic::$Statics SPL Short Ternaries (?:) __DIR__ MySQLnd DateTime FPM NOWDOCS ICU Collator ext/intl sqlite3 @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 16

Slide 16 text

Get it? @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 17

Slide 17 text

5.4 @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 18

Slide 18 text

array('foo' => 'bar') @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 19

Slide 19 text

['foo' => 'bar'] Short Syntax for arrays! @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 20

Slide 20 text

$obj->method($var)[2]; Function Array Dereferencing @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 21

Slide 21 text

Traits Effective code re-use @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 22

Slide 22 text

@davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 23

Slide 23 text

SessionHandler class VendorSession extends SessionHandler {} @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 24

Slide 24 text

A lot more. PHP 5.4 isn’t only traits and arrays @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 25

Slide 25 text

Indirect Method Calls $func = array(‘Foo’, ‘bar’); $func(); @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 26

Slide 26 text

Member Access Upon Instantiation @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 27

Slide 27 text

$obj = (new Foo)->bar(); @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 28

Slide 28 text

Support this! Added $this closure support. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 29

Slide 29 text

The future is bright Not only features @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 30

Slide 30 text

Release Process Making it easier to contribute @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 31

Slide 31 text

GIT!!! http://git.php.net/ @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 32

Slide 32 text

Built-in Webserver? @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 33

Slide 33 text

What does it all mean? @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 34

Slide 34 text

Stronger Engineering PHP isn’t only for hacking spider scripts @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 35

Slide 35 text

Better Tools PHP a mature language @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 36

Slide 36 text

PHPUnit Advanced Unit-Testing @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 37

Slide 37 text

XDebug 10 years! Congrats! @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 38

Slide 38 text

Sunday 20 May 12

Slide 39

Slide 39 text

CodeSniffer Make your code comply! @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 40

Slide 40 text

Getting work done Frameworks old and new @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 41

Slide 41 text

Symfony @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 42

Slide 42 text

Sunday 20 May 12

Slide 43

Slide 43 text

A bunch of DICs Don’t call me. I’ll call you. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 44

Slide 44 text

Zend Framework @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 45

Slide 45 text

Sunday 20 May 12

Slide 46

Slide 46 text

Lithium (li3) @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 47

Slide 47 text

Even Agavi... Take a look seriously. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 48

Slide 48 text

Silex The largest micro-framework. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 49

Slide 49 text

Composer A New Package Manager @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 50

Slide 50 text

External Projects Really worth mentioning. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 51

Slide 51 text

@davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 52

Slide 52 text

@davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 53

Slide 53 text

Node.js Don’t worry it doesn’t hurt. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 54

Slide 54 text

Nodephp.org Taking the JS out of Node.js @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 55

Slide 55 text

On the other hand. What is changing? @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 56

Slide 56 text

LAMP? Yesterday’s problems @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 57

Slide 57 text

LNNP? Today’s and Tomorrow’s problems learning from yesterday’s mistakes. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 58

Slide 58 text

L: Linux N: Nginx N: (N) NoSQL Solutions P: PHP-FPM @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 59

Slide 59 text

Rasmus once said When the world becomes standard, I will start caring about standards. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 60

Slide 60 text

The FIG The PHP Framework Interoperability Group @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 61

Slide 61 text

Where does that leave us? @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 62

Slide 62 text

Evolution @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 63

Slide 63 text

Platforms @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 64

Slide 64 text

Cloud... @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 65

Slide 65 text

Deploying @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 66

Slide 66 text

Quality Control @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 67

Slide 67 text

@davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 68

Slide 68 text

Focus @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 69

Slide 69 text

Adapted (ing) to evolving needs. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 70

Slide 70 text

Modern @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 71

Slide 71 text

Share Nothing Selfish systems @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 72

Slide 72 text

A new concept No more managing. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 73

Slide 73 text

Shiny Objects We all want some! @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 74

Slide 74 text

“Desire and hope will push us toward the future” - Michel De Montaigne Sunday 20 May 12

Slide 75

Slide 75 text

The David Theory @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 76

Slide 76 text

“Anything that can be used, should be tried” @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 77

Slide 77 text

That’s PaaS Make me succeed, but allow me to fail fast. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 78

Slide 78 text

Redis @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 79

Slide 79 text

MongoDB @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 80

Slide 80 text

CouchDB @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 81

Slide 81 text

Riak @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 82

Slide 82 text

CloudFlare @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 83

Slide 83 text

Ruby? :-O @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 84

Slide 84 text

Python? :o @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 85

Slide 85 text

Let us reflect. About Technology and Communities @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 86

Slide 86 text

God Complex David’s Stockholm Syndrome @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 87

Slide 87 text

“All War is Deception” —Sun Tzu @davidcoallier — Italy — phpDay 2012 Sunday 20 May 12

Slide 88

Slide 88 text

Users are worth more than technology @davidcoallier — Italy — phpDay 2012 Sunday 20 May 12

Slide 89

Slide 89 text

Next time Think before bitching. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 90

Slide 90 text

A tip Please consider the following. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 91

Slide 91 text

Other Techs There is a world out there. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 92

Slide 92 text

Polyglotism It is not an illness. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 93

Slide 93 text

Different Worlds But so similar. @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 94

Slide 94 text

Community Contributing to something @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12

Slide 95

Slide 95 text

Free Beer and Stuff? Tweet @engineyard @davidcoallier — Italy —phpDay 2012 Sunday 20 May 12