SlideShare a Scribd company logo
1 of 74
Download to read offline
PHP 5.3
                                A Walkthrough
                                  @davidcoallier




Dé Luain 20 Meán Fómhair 2010
Who are you?
                                       Experiences, usage, etc.




Dé Luain 20 Meán Fómhair 2010
Who am I?
                                   Work, experiences, usage, etc.




Dé Luain 20 Meán Fómhair 2010
The Talk!
                                   Recap of why you are here...




Dé Luain 20 Meán Fómhair 2010
A small PHP 6
                                    Oh no, you didn’t!




Dé Luain 20 Meán Fómhair 2010
In a nutshell
                                   mysqlnd, phar, syntax, sqlite3, spl-sauce, speed, etc.




Dé Luain 20 Meán Fómhair 2010
ext/intl
                                   Internationalization Extension




Dé Luain 20 Meán Fómhair 2010
Collator
                                  string comparison, sorting, locale




Dé Luain 20 Meán Fómhair 2010
Numbers...
                                   1,000,000; 1.000.000; 1 000 000




Dé Luain 20 Meán Fómhair 2010
ICU
                                  ☕ ♿⚛




Dé Luain 20 Meán Fómhair 2010
More Importantly


Dé Luain 20 Meán Fómhair 2010
LSB
                                Late Static Binding, wtf is that?




Dé Luain 20 Meán Fómhair 2010
NAMESPACES


Dé Luain 20 Meán Fómhair 2010
NAMESPACES!!!!


Dé Luain 20 Meán Fómhair 2010
Closures & λs


Dé Luain 20 Meán Fómhair 2010
Late-Static Bindingself:: vs static::, what’s that? LSB?




Dé Luain 20 Meán Fómhair 2010
class Base {
                                    public static function who() {
                                        echo __CLASS__;
                                    }

                                    public static function foo() {
                                        self::who();
                                    }
                                }

                                class Child extends Base {
                                    public static function who() {
                                        echo __CLASS__;
                                    }
                                }

                                Child::foo(); // Echoes Base
Dé Luain 20 Meán Fómhair 2010
class Base {
                                    public static function who() {
                                        echo __CLASS__;
                                    }

                                    public static function foo() {
                                        static::who();
                                    }
                                }

                                class Child extends Base {
                                    public static function who() {
                                        echo __CLASS__;
                                    }
                                }

                                Child::foo(); // Echoes Child
Dé Luain 20 Meán Fómhair 2010
$this is not static::
                                Don’t get tricked, no inheritance




Dé Luain 20 Meán Fómhair 2010
Object Lifecycle
                                Create, Immute, Memoize




Dé Luain 20 Meán Fómhair 2010
Referencial Transparency  It’s not maths, it’s software.




Dé Luain 20 Meán Fómhair 2010
ZzzZz.....


Dé Luain 20 Meán Fómhair 2010
Dynamic Statics
                                 Oh that sounds nasty...




Dé Luain 20 Meán Fómhair 2010
$class = 'ClassName';
                                $method = 'methodName';

                                $class::$method(...);




Dé Luain 20 Meán Fómhair 2010
Remember __call?


Dé Luain 20 Meán Fómhair 2010
__callStatic()


Dé Luain 20 Meán Fómhair 2010
Enough Statics..
                                       Moving on.




Dé Luain 20 Meán Fómhair 2010
Namespaces
                                   So we have namespaces, now what?




Dé Luain 20 Meán Fómhair 2010
Get over it.
                                        We know. 




Dé Luain 20 Meán Fómhair 2010
Organize
                                  Structural decisions, maintainability




Dé Luain 20 Meán Fómhair 2010
namespace pearpackage;
                                class Example {
                                    // ...
                                }




Dé Luain 20 Meán Fómhair 2010
use pearpackage;
                        $class = new Example();
                        // or
                        $class = new pearpackageExample();




Dé Luain 20 Meán Fómhair 2010
Meaning
                                  And community significance




Dé Luain 20 Meán Fómhair 2010
The culprit
                                       strlen




Dé Luain 20 Meán Fómhair 2010
Coding Standards
       http://groups.google.com/group/php-standards/web/psr-0-final-proposal




Dé Luain 20 Meán Fómhair 2010
Phar
                                 The jar-like PHP Archives




Dé Luain 20 Meán Fómhair 2010
include 'phar://package.phar/index.php';




Dé Luain 20 Meán Fómhair 2010
$phar = new Phar('drupal7.phar');
              $phar->buildFromDirectory(__DIR__ . '/drupal7');
              $phar->setStub("<?php
              Phar::interceptFileFuncs();
              Phar::webPhar();
              __HALT_COMPILER(); ?>"




Dé Luain 20 Meán Fómhair 2010
RewriteRule ^(.*)$ /drupal7.phar/$1 [QSA,L]




Dé Luain 20 Meán Fómhair 2010
Running, web-ing
                                Phar magic-happy-times.




Dé Luain 20 Meán Fómhair 2010
λ (Lambda)
                                      Assigned to a variable




Dé Luain 20 Meán Fómhair 2010
$name = function() {
                                    return 'david';
                                };




Dé Luain 20 Meán Fómhair 2010
Closure
                                 functions with bound variables




Dé Luain 20 Meán Fómhair 2010
Sto
                                                            len
                                                                  Fro
                                                                     m
                 $names = array(                                         NA
                     'Nate Abele', 'David Coallier', 'Cap'n Crunch'       TE
                 );
                                                                             !
                 $split = array_map(
                      function($name) {
                          list($first, $last) = explode(' ', $name);
                          return compact('first', 'last');
                      },
                      $names
                 );
                 // Result:
                 array(
                    array('first' => 'Nate', 'last' => 'Abele'),
                    array('first' => 'David', 'last' => 'Coallier'),
                    array('first' => 'Cap'n', 'last' => 'Crunch')
                 )



Dé Luain 20 Meán Fómhair 2010
$names   = array('david', 'nate');
           $friends = array('helgi', 'joel');

           $split = function($name) use ($friends) {
               //...
           };




Dé Luain 20 Meán Fómhair 2010
Functors :O


Dé Luain 20 Meán Fómhair 2010
class Name {
                         public function __invoke() {
                             return 'david';
                         }
                     }

                     echo $name();




Dé Luain 20 Meán Fómhair 2010
Other things?
                                      SPL, changes, NOWDOCS, etc




Dé Luain 20 Meán Fómhair 2010
Fast Ternaries
                                     No need to check anymore... Beware




Dé Luain 20 Meán Fómhair 2010
$name = isset($_GET['name']) ? $_GET['name'] : 'No Name';




Dé Luain 20 Meán Fómhair 2010
$name = $_GET['name'] ?: 'No Name';




Dé Luain 20 Meán Fómhair 2010
NOWDOCS
                                  NOWDOCS cooler than HEREDOCS




Dé Luain 20 Meán Fómhair 2010
$name    = 'david';
                     $example =<<<RTFM
                     Hello $name,
                     See you soon.
                     RTFM;
                     // Hello David

Dé Luain 20 Meán Fómhair 2010
$name    = 'david';
                    $example =<<<'RTFM'
                    Hello $name,
                    See you soon.
                    RTFM;
                  // Hello $name
Dé Luain 20 Meán Fómhair 2010
Performance
                                    Better faster strong. Better stack




Dé Luain 20 Meán Fómhair 2010
Garbage Collection     gc_enable(), gc_disable(), etc.




Dé Luain 20 Meán Fómhair 2010
__DIR__
                                    dirname(__FILE__)




Dé Luain 20 Meán Fómhair 2010
__NAMESPACE__


Dé Luain 20 Meán Fómhair 2010
namespace pearpackageExample2 {
       const TEST = 'In Namespaces...';
       function foo() {
           echo __NAMESPACE__;
       }
   }

   echo pearpackageExample2::TEST; // In Namespaces...
   pearpackageExample2foo(); // Example2




Dé Luain 20 Meán Fómhair 2010
E_DEPRECATED


Dé Luain 20 Meán Fómhair 2010
MySQLnd
                                 Native MySQL Driver, faster, stats, self-contained




Dé Luain 20 Meán Fómhair 2010
DateTime
                                   Crazy amazing dates handling




Dé Luain 20 Meán Fómhair 2010
$datetime1 = new DateTime('2009-10-11');
      $datetime2 = new DateTime('2009-10-13');
      $interval = $datetime1->diff($datetime2);

      echo $interval->format('%R%d days');

      // +2 days




Dé Luain 20 Meán Fómhair 2010
SPL
                                 Iterators, Iterators, Iterators.




Dé Luain 20 Meán Fómhair 2010
SPL
                                Datastructures, Exceptions, Misc...




Dé Luain 20 Meán Fómhair 2010
My Favourite


Dé Luain 20 Meán Fómhair 2010
PHP FPM
                                  Alternate FastCGI Implementation 5.3.3




Dé Luain 20 Meán Fómhair 2010
Incentive
                                   Why do I have to use PHP 5.3?




Dé Luain 20 Meán Fómhair 2010
Lithium
                                     It’s so rad!




Dé Luain 20 Meán Fómhair 2010
Zend Framework 2


Dé Luain 20 Meán Fómhair 2010
Symfony 2


Dé Luain 20 Meán Fómhair 2010
Doctrine 2


Dé Luain 20 Meán Fómhair 2010
Q&A


Dé Luain 20 Meán Fómhair 2010
Thank you
                                  @davidcoallier




Dé Luain 20 Meán Fómhair 2010

More Related Content

Viewers also liked

Alescon Heeft Passie Voor Horeca 20120305
Alescon Heeft Passie Voor Horeca 20120305Alescon Heeft Passie Voor Horeca 20120305
Alescon Heeft Passie Voor Horeca 20120305Johan Lapidaire
 
Production Travels
Production Travels Production Travels
Production Travels deeppurple64
 
Wat Zijn Adaptaties
Wat Zijn AdaptatiesWat Zijn Adaptaties
Wat Zijn Adaptatiesdadriaen
 
N.C. State Fair and social media
N.C. State Fair and social mediaN.C. State Fair and social media
N.C. State Fair and social mediaguest5e0b61
 
2009 Barcamp Nashville Web Security 101
2009 Barcamp Nashville   Web Security 1012009 Barcamp Nashville   Web Security 101
2009 Barcamp Nashville Web Security 101brian_dailey
 
I Joined Twitter - Now What?
I Joined Twitter - Now What?I Joined Twitter - Now What?
I Joined Twitter - Now What?JoshShear
 
Teaching Online: An Introduction to COI Framework
Teaching Online: An Introduction to COI FrameworkTeaching Online: An Introduction to COI Framework
Teaching Online: An Introduction to COI FrameworkAllan Carrington
 
CLOrox 1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...
CLOrox   1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...CLOrox   1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...
CLOrox 1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...finance48
 
Digital business #5
Digital business #5Digital business #5
Digital business #5finanzas_uca
 
hormel foods 2002_proxy
hormel foods  2002_proxyhormel foods  2002_proxy
hormel foods 2002_proxyfinance46
 
AIESEC HUST 09Fall 招新 —— 软件学院
AIESEC HUST 09Fall 招新 —— 软件学院AIESEC HUST 09Fall 招新 —— 软件学院
AIESEC HUST 09Fall 招新 —— 软件学院cscguochang
 
Facebooks new model
Facebooks new modelFacebooks new model
Facebooks new modelfinanzas_uca
 
Highlights of the Indian budget 2014
Highlights of the Indian budget 2014Highlights of the Indian budget 2014
Highlights of the Indian budget 2014Rajesh Goyal
 

Viewers also liked (19)

Alescon Heeft Passie Voor Horeca 20120305
Alescon Heeft Passie Voor Horeca 20120305Alescon Heeft Passie Voor Horeca 20120305
Alescon Heeft Passie Voor Horeca 20120305
 
Cbf02
Cbf02Cbf02
Cbf02
 
90 10 Principle
90 10 Principle90 10 Principle
90 10 Principle
 
Internet
InternetInternet
Internet
 
Production Travels
Production Travels Production Travels
Production Travels
 
Wat Zijn Adaptaties
Wat Zijn AdaptatiesWat Zijn Adaptaties
Wat Zijn Adaptaties
 
Avem Timp
Avem TimpAvem Timp
Avem Timp
 
N.C. State Fair and social media
N.C. State Fair and social mediaN.C. State Fair and social media
N.C. State Fair and social media
 
2009 Barcamp Nashville Web Security 101
2009 Barcamp Nashville   Web Security 1012009 Barcamp Nashville   Web Security 101
2009 Barcamp Nashville Web Security 101
 
I Joined Twitter - Now What?
I Joined Twitter - Now What?I Joined Twitter - Now What?
I Joined Twitter - Now What?
 
Teaching Online: An Introduction to COI Framework
Teaching Online: An Introduction to COI FrameworkTeaching Online: An Introduction to COI Framework
Teaching Online: An Introduction to COI Framework
 
CLOrox 1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...
CLOrox   1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...CLOrox   1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...
CLOrox 1%20Consolidated%20Earnings,%20Segment%20Information%20and%20Consoli...
 
1:World@Haverford
1:World@Haverford1:World@Haverford
1:World@Haverford
 
Digital business #5
Digital business #5Digital business #5
Digital business #5
 
How To Stay Young
How To Stay YoungHow To Stay Young
How To Stay Young
 
hormel foods 2002_proxy
hormel foods  2002_proxyhormel foods  2002_proxy
hormel foods 2002_proxy
 
AIESEC HUST 09Fall 招新 —— 软件学院
AIESEC HUST 09Fall 招新 —— 软件学院AIESEC HUST 09Fall 招新 —— 软件学院
AIESEC HUST 09Fall 招新 —— 软件学院
 
Facebooks new model
Facebooks new modelFacebooks new model
Facebooks new model
 
Highlights of the Indian budget 2014
Highlights of the Indian budget 2014Highlights of the Indian budget 2014
Highlights of the Indian budget 2014
 

More from David Coallier

Data Science at Scale @ barricade.io
Data Science at Scale @ barricade.ioData Science at Scale @ barricade.io
Data Science at Scale @ barricade.ioDavid Coallier
 
Data Science, what even?!
Data Science, what even?!Data Science, what even?!
Data Science, what even?!David Coallier
 
Data Science, what even...
Data Science, what even...Data Science, what even...
Data Science, what even...David Coallier
 
PRISM seed-stage Investor Deck
PRISM seed-stage Investor DeckPRISM seed-stage Investor Deck
PRISM seed-stage Investor DeckDavid Coallier
 
The Artful Business of Data Mining: Computational Statistics with Open Source...
The Artful Business of Data Mining: Computational Statistics with Open Source...The Artful Business of Data Mining: Computational Statistics with Open Source...
The Artful Business of Data Mining: Computational Statistics with Open Source...David Coallier
 
Taking PHP to the next level
Taking PHP to the next levelTaking PHP to the next level
Taking PHP to the next levelDavid Coallier
 
Mobile Cloud Architectures
Mobile Cloud ArchitecturesMobile Cloud Architectures
Mobile Cloud ArchitecturesDavid Coallier
 
Taking PHP To the next level
Taking PHP To the next levelTaking PHP To the next level
Taking PHP To the next levelDavid Coallier
 
Orchestra at EngineYard
Orchestra at EngineYardOrchestra at EngineYard
Orchestra at EngineYardDavid Coallier
 
The Orchestra Platform
The Orchestra PlatformThe Orchestra Platform
The Orchestra PlatformDavid Coallier
 
Building APIs with FRAPI
Building APIs with FRAPIBuilding APIs with FRAPI
Building APIs with FRAPIDavid Coallier
 
RESTful APIs and FRAPI
RESTful APIs and FRAPIRESTful APIs and FRAPI
RESTful APIs and FRAPIDavid Coallier
 
An introduction to CouchDB
An introduction to CouchDBAn introduction to CouchDB
An introduction to CouchDBDavid Coallier
 
Get ready for web3.0! Open up your app!
Get ready for web3.0! Open up your app!Get ready for web3.0! Open up your app!
Get ready for web3.0! Open up your app!David Coallier
 

More from David Coallier (15)

Data Science at Scale @ barricade.io
Data Science at Scale @ barricade.ioData Science at Scale @ barricade.io
Data Science at Scale @ barricade.io
 
Data Science, what even?!
Data Science, what even?!Data Science, what even?!
Data Science, what even?!
 
Data Science, what even...
Data Science, what even...Data Science, what even...
Data Science, what even...
 
PRISM seed-stage Investor Deck
PRISM seed-stage Investor DeckPRISM seed-stage Investor Deck
PRISM seed-stage Investor Deck
 
The Artful Business of Data Mining: Computational Statistics with Open Source...
The Artful Business of Data Mining: Computational Statistics with Open Source...The Artful Business of Data Mining: Computational Statistics with Open Source...
The Artful Business of Data Mining: Computational Statistics with Open Source...
 
Taking PHP to the next level
Taking PHP to the next levelTaking PHP to the next level
Taking PHP to the next level
 
Mobile Cloud Architectures
Mobile Cloud ArchitecturesMobile Cloud Architectures
Mobile Cloud Architectures
 
Taking PHP To the next level
Taking PHP To the next levelTaking PHP To the next level
Taking PHP To the next level
 
Orchestra at EngineYard
Orchestra at EngineYardOrchestra at EngineYard
Orchestra at EngineYard
 
The Orchestra Platform
The Orchestra PlatformThe Orchestra Platform
The Orchestra Platform
 
Breaking Technologies
Breaking TechnologiesBreaking Technologies
Breaking Technologies
 
Building APIs with FRAPI
Building APIs with FRAPIBuilding APIs with FRAPI
Building APIs with FRAPI
 
RESTful APIs and FRAPI
RESTful APIs and FRAPIRESTful APIs and FRAPI
RESTful APIs and FRAPI
 
An introduction to CouchDB
An introduction to CouchDBAn introduction to CouchDB
An introduction to CouchDB
 
Get ready for web3.0! Open up your app!
Get ready for web3.0! Open up your app!Get ready for web3.0! Open up your app!
Get ready for web3.0! Open up your app!
 

PHP 5.3, a walkthrough

  • 1. PHP 5.3 A Walkthrough @davidcoallier Dé Luain 20 Meán Fómhair 2010
  • 2. Who are you? Experiences, usage, etc. Dé Luain 20 Meán Fómhair 2010
  • 3. Who am I? Work, experiences, usage, etc. Dé Luain 20 Meán Fómhair 2010
  • 4. The Talk! Recap of why you are here... Dé Luain 20 Meán Fómhair 2010
  • 5. A small PHP 6 Oh no, you didn’t! Dé Luain 20 Meán Fómhair 2010
  • 6. In a nutshell mysqlnd, phar, syntax, sqlite3, spl-sauce, speed, etc. Dé Luain 20 Meán Fómhair 2010
  • 7. ext/intl Internationalization Extension Dé Luain 20 Meán Fómhair 2010
  • 8. Collator string comparison, sorting, locale Dé Luain 20 Meán Fómhair 2010
  • 9. Numbers... 1,000,000; 1.000.000; 1 000 000 Dé Luain 20 Meán Fómhair 2010
  • 10. ICU ☕ ♿⚛ Dé Luain 20 Meán Fómhair 2010
  • 11. More Importantly Dé Luain 20 Meán Fómhair 2010
  • 12. LSB Late Static Binding, wtf is that? Dé Luain 20 Meán Fómhair 2010
  • 13. NAMESPACES Dé Luain 20 Meán Fómhair 2010
  • 14. NAMESPACES!!!! Dé Luain 20 Meán Fómhair 2010
  • 15. Closures & λs Dé Luain 20 Meán Fómhair 2010
  • 16. Late-Static Bindingself:: vs static::, what’s that? LSB? Dé Luain 20 Meán Fómhair 2010
  • 17. class Base { public static function who() { echo __CLASS__; } public static function foo() { self::who(); } } class Child extends Base { public static function who() { echo __CLASS__; } } Child::foo(); // Echoes Base Dé Luain 20 Meán Fómhair 2010
  • 18. class Base { public static function who() { echo __CLASS__; } public static function foo() { static::who(); } } class Child extends Base { public static function who() { echo __CLASS__; } } Child::foo(); // Echoes Child Dé Luain 20 Meán Fómhair 2010
  • 19. $this is not static:: Don’t get tricked, no inheritance Dé Luain 20 Meán Fómhair 2010
  • 20. Object Lifecycle Create, Immute, Memoize Dé Luain 20 Meán Fómhair 2010
  • 21. Referencial Transparency It’s not maths, it’s software. Dé Luain 20 Meán Fómhair 2010
  • 22. ZzzZz..... Dé Luain 20 Meán Fómhair 2010
  • 23. Dynamic Statics Oh that sounds nasty... Dé Luain 20 Meán Fómhair 2010
  • 24. $class = 'ClassName'; $method = 'methodName'; $class::$method(...); Dé Luain 20 Meán Fómhair 2010
  • 25. Remember __call? Dé Luain 20 Meán Fómhair 2010
  • 26. __callStatic() Dé Luain 20 Meán Fómhair 2010
  • 27. Enough Statics.. Moving on. Dé Luain 20 Meán Fómhair 2010
  • 28. Namespaces So we have namespaces, now what? Dé Luain 20 Meán Fómhair 2010
  • 29. Get over it. We know. Dé Luain 20 Meán Fómhair 2010
  • 30. Organize Structural decisions, maintainability Dé Luain 20 Meán Fómhair 2010
  • 31. namespace pearpackage; class Example { // ... } Dé Luain 20 Meán Fómhair 2010
  • 32. use pearpackage; $class = new Example(); // or $class = new pearpackageExample(); Dé Luain 20 Meán Fómhair 2010
  • 33. Meaning And community significance Dé Luain 20 Meán Fómhair 2010
  • 34. The culprit strlen Dé Luain 20 Meán Fómhair 2010
  • 35. Coding Standards http://groups.google.com/group/php-standards/web/psr-0-final-proposal Dé Luain 20 Meán Fómhair 2010
  • 36. Phar The jar-like PHP Archives Dé Luain 20 Meán Fómhair 2010
  • 38. $phar = new Phar('drupal7.phar'); $phar->buildFromDirectory(__DIR__ . '/drupal7'); $phar->setStub("<?php Phar::interceptFileFuncs(); Phar::webPhar(); __HALT_COMPILER(); ?>" Dé Luain 20 Meán Fómhair 2010
  • 39. RewriteRule ^(.*)$ /drupal7.phar/$1 [QSA,L] Dé Luain 20 Meán Fómhair 2010
  • 40. Running, web-ing Phar magic-happy-times. Dé Luain 20 Meán Fómhair 2010
  • 41. λ (Lambda) Assigned to a variable Dé Luain 20 Meán Fómhair 2010
  • 42. $name = function() { return 'david'; }; Dé Luain 20 Meán Fómhair 2010
  • 43. Closure functions with bound variables Dé Luain 20 Meán Fómhair 2010
  • 44. Sto len Fro m $names = array( NA 'Nate Abele', 'David Coallier', 'Cap'n Crunch' TE ); ! $split = array_map( function($name) { list($first, $last) = explode(' ', $name); return compact('first', 'last'); }, $names ); // Result: array( array('first' => 'Nate', 'last' => 'Abele'), array('first' => 'David', 'last' => 'Coallier'), array('first' => 'Cap'n', 'last' => 'Crunch') ) Dé Luain 20 Meán Fómhair 2010
  • 45. $names = array('david', 'nate'); $friends = array('helgi', 'joel'); $split = function($name) use ($friends) { //... }; Dé Luain 20 Meán Fómhair 2010
  • 46. Functors :O Dé Luain 20 Meán Fómhair 2010
  • 47. class Name { public function __invoke() { return 'david'; } } echo $name(); Dé Luain 20 Meán Fómhair 2010
  • 48. Other things? SPL, changes, NOWDOCS, etc Dé Luain 20 Meán Fómhair 2010
  • 49. Fast Ternaries No need to check anymore... Beware Dé Luain 20 Meán Fómhair 2010
  • 50. $name = isset($_GET['name']) ? $_GET['name'] : 'No Name'; Dé Luain 20 Meán Fómhair 2010
  • 51. $name = $_GET['name'] ?: 'No Name'; Dé Luain 20 Meán Fómhair 2010
  • 52. NOWDOCS NOWDOCS cooler than HEREDOCS Dé Luain 20 Meán Fómhair 2010
  • 53. $name = 'david'; $example =<<<RTFM Hello $name, See you soon. RTFM; // Hello David Dé Luain 20 Meán Fómhair 2010
  • 54. $name = 'david'; $example =<<<'RTFM' Hello $name, See you soon. RTFM; // Hello $name Dé Luain 20 Meán Fómhair 2010
  • 55. Performance Better faster strong. Better stack Dé Luain 20 Meán Fómhair 2010
  • 56. Garbage Collection gc_enable(), gc_disable(), etc. Dé Luain 20 Meán Fómhair 2010
  • 57. __DIR__ dirname(__FILE__) Dé Luain 20 Meán Fómhair 2010
  • 58. __NAMESPACE__ Dé Luain 20 Meán Fómhair 2010
  • 59. namespace pearpackageExample2 { const TEST = 'In Namespaces...'; function foo() { echo __NAMESPACE__; } } echo pearpackageExample2::TEST; // In Namespaces... pearpackageExample2foo(); // Example2 Dé Luain 20 Meán Fómhair 2010
  • 60. E_DEPRECATED Dé Luain 20 Meán Fómhair 2010
  • 61. MySQLnd Native MySQL Driver, faster, stats, self-contained Dé Luain 20 Meán Fómhair 2010
  • 62. DateTime Crazy amazing dates handling Dé Luain 20 Meán Fómhair 2010
  • 63. $datetime1 = new DateTime('2009-10-11'); $datetime2 = new DateTime('2009-10-13'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%d days'); // +2 days Dé Luain 20 Meán Fómhair 2010
  • 64. SPL Iterators, Iterators, Iterators. Dé Luain 20 Meán Fómhair 2010
  • 65. SPL Datastructures, Exceptions, Misc... Dé Luain 20 Meán Fómhair 2010
  • 66. My Favourite Dé Luain 20 Meán Fómhair 2010
  • 67. PHP FPM Alternate FastCGI Implementation 5.3.3 Dé Luain 20 Meán Fómhair 2010
  • 68. Incentive Why do I have to use PHP 5.3? Dé Luain 20 Meán Fómhair 2010
  • 69. Lithium It’s so rad! Dé Luain 20 Meán Fómhair 2010
  • 70. Zend Framework 2 Dé Luain 20 Meán Fómhair 2010
  • 71. Symfony 2 Dé Luain 20 Meán Fómhair 2010
  • 72. Doctrine 2 Dé Luain 20 Meán Fómhair 2010
  • 73. Q&A Dé Luain 20 Meán Fómhair 2010
  • 74. Thank you @davidcoallier Dé Luain 20 Meán Fómhair 2010