Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The PHP Renaissance

763 views

Published on

All Things Open 2014 - Day 2
Thursday, October 23rd, 2014

Matt Chapman
Open Source Platforms Engineer with CARD.com
Back Dev
The PHP Renaissance

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The PHP Renaissance

  1. 1. PHP RENAISSANCEPHP RENAISSANCE REBIRTH OF A DIVERSE COMMUNITYREBIRTH OF A DIVERSE COMMUNITY Matt Chapman Sr. Open Source Platforms Engineer CARD.com Los Angeles, CA 1 of 43
  2. 2. DEFINEDDEFINED Rebirth Renewal Cultural Cross-Polination Unified Diversity 2 of 43
  3. 3. OUTLINEOUTLINE A Personal Story A Technical History A Technical Tour A Look at our Community 3 of 43
  4. 4. 20022002<html> <head> PHP just goes in the HTML file next to the javascript. Why not? <?php $link = mysql_connect('localhost', 'user', 'pass'); mysql_select_db('testdb', $link); // Don't worry, register_globals is on by default until April. mysql_query("SELECT * from members WHERE id = " . $id;"); ?> Still waiting on the content from marketing... <p>Under construction!</p> </html> 4 of 43
  5. 5. 20062006<?php function get_data() { require_once db_config.inc; $db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', $config->username, $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); ... 5 of 43
  6. 6. 20072007 6 of 43
  7. 7. REAL ESTATEREAL ESTATE 7 of 43
  8. 8. HOME VALUES VS. DEVELOPER INCOMEHOME VALUES VS. DEVELOPER INCOME 8 of 43
  9. 9. DEVELOPER INCOME VS. AVERAGEDEVELOPER INCOME VS. AVERAGE 9 of 43
  10. 10. FOOTNOTEFOOTNOTEResultsnottypical;yourresultsmayvary.Notintendedtotreator preventanyboringorstressfulcareer.Maycauserectalbleeding. 10 of 43
  11. 11. CHANGED LIVESCHANGED LIVES 11 of 43
  12. 12. INSANITYINSANITY 12 of 43
  13. 13. PHP CIRCA 2007PHP CIRCA 2007 WHAT'S GOOD?WHAT'S GOOD? Fast development cycle. Great HTML integration. Free, Freer, and Freedom. 13 of 43
  14. 14. WHAT'S GOOD ABOUT PHP ISWHAT'S GOOD ABOUT PHP IS ANYONE CAN DO IT!ANYONE CAN DO IT! ~~ WHAT'S BAD ABOUT PHP ISWHAT'S BAD ABOUT PHP IS ANYONEANYONE CAN DO IT....CAN DO IT.... 14 of 43
  15. 15. TERRIBLE CODETERRIBLE CODE<?php namespace Money; class Bitcoin { const BITCOIN_NODE = '50.00.00.00'; static private $pending = array(); public static function update() { // update all nodes $list = DB::DAO('Money_Bitcoin_Host')->search(null); foreach($list as $bean) { $bean->Last_Update = DB::i()->now(); $client = Controller::Driver('Bitcoin', $bean->Money_Bitcoin_Host__); if (!$client->isValid()) continue; $info = $client->getInfo(); 15 of 43
  16. 16. PEARPEAR PHP Extension and Application Repository Founded 2000 on the "new" PHP 4 Required root to use properly (WTF?) Complex process for adding packages Easy to get wrong 16 of 43
  17. 17. SO HOW DOES THIS WORK?SO HOW DOES THIS WORK? Where do I find code? PEAR and, um, forums? How do I get code? Paste into your project (or have root) How do I load your code? Manual includes How do I load everyone's code? Lots of manual includes How can I collaborate on code? Sourceforge? Can I exchange code? LOLz 17 of 43
  18. 18. THIS IS WHY WE CAN'TTHIS IS WHY WE CAN'T HAVE NICE THINGSHAVE NICE THINGS -Larry Garfield, PHP-FIG, Drupal. It was hard to share, so everyone built their own. So we didn't get the open-source leverage effect. And 90% of everything is crap anyway. 18 of 43
  19. 19. 19 of 43
  20. 20. 20 of 43
  21. 21. "The average PHP programmer has written 2.5 frameworks in his career, and afterward, still doesn't know if needle or haystack comes first." — Urban legend statistics 21 of 43
  22. 22. GO PHP5.GO PHP5. 22 of 43
  23. 23. SO WHAT'S CHANGED?SO WHAT'S CHANGED? PHP IN 2014PHP IN 2014 23 of 43
  24. 24. GITHUBGITHUB 24 of 43
  25. 25. COMPOSERCOMPOSER PHP packaging system backed by Packagist.org and Github.com 25 of 43
  26. 26. HIPHOPHIPHOP Facebook's Open Sourtime Runtime alternative also runs HACK, a backward compatible lanaguge that add optional typing, etc. 26 of 43
  27. 27. PERFORMANCEPERFORMANCE 27 of 43
  28. 28. PHP-FIG.ORGPHP-FIG.ORG Framewok Interoperability Group 28 of 43
  29. 29. WHAT ELSE IS HOT?WHAT ELSE IS HOT? 29 of 43
  30. 30. SYMFONY 2SYMFONY 2 Application Framework PHP on Rails 30 of 43
  31. 31. SILEX, LARAVEL, KOHANASILEX, LARAVEL, KOHANA Lighter Higher or lower level 31 of 43
  32. 32. PHALCONPHALCON Framework in C. 32 of 43
  33. 33. AURAAURA No, really, really decoupled. 33 of 43
  34. 34. REACTPHPREACTPHP Event Driven Programming Inspired by NodeJS & Twisted (Not to be confused with ReactJS from FB 34 of 43
  35. 35. DRUPAL 8 & BACKDROPDRUPAL 8 & BACKDROP Drupal started in 2001 Content Management System 2013 Fork by active community members It's not about OOP 35 of 43
  36. 36. COMMUNITYCOMMUNITY What do we want? 36 of 43
  37. 37. ENTERPRISE?ENTERPRISE? Red Hat vs Linspire 37 of 43
  38. 38. START-UPS?START-UPS? 38 of 43
  39. 39. DIVERSITYDIVERSITY 39 of 43
  40. 40. CAREERCAREER 40 of 43
  41. 41. LOS ANGELES IS THE FASTEST GROWINGLOS ANGELES IS THE FASTEST GROWING MARKET FOR TECH JOBS IN THE COUNTRY.MARKET FOR TECH JOBS IN THE COUNTRY. -Some guy I know. 41 of 43
  42. 42. CARD.COMCARD.COM 42 of 43
  43. 43. DEFINEDDEFINED Rebirth Renewal Cultural Cross-Polination Unified Diversity 43 of 43

×