the php renaissance

43
PHP RENAISSANCE PHP RENAISSANCE REBIRTH OF A DIVERSE COMMUNITY REBIRTH OF A DIVERSE COMMUNITY Matt Chapman Sr. Open Source Platforms Engineer CARD.com Los Angeles, CA 1 of 43

Upload: all-things-open

Post on 13-Jul-2015

211 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The PHP Renaissance

PHP RENAISSANCEPHP RENAISSANCEREBIRTH OF A DIVERSE COMMUNITYREBIRTH OF A DIVERSE COMMUNITY

Matt Chapman

Sr. Open Source Platforms Engineer

CARD.com

Los Angeles, CA

1 of 43

Page 2: The PHP Renaissance

DEFINEDDEFINEDRebirthRenewalCultural Cross-PolinationUnified Diversity

2 of 43

Page 3: The PHP Renaissance

OUTLINEOUTLINEA Personal StoryA Technical HistoryA Technical TourA Look at our Community

3 of 43

Page 4: The PHP Renaissance

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

Page 5: The PHP Renaissance

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

Page 6: The PHP Renaissance

20072007

6 of 43

Page 7: The PHP Renaissance

REAL ESTATEREAL ESTATE

7 of 43

Page 8: The PHP Renaissance

HOME VALUES VS. DEVELOPER INCOMEHOME VALUES VS. DEVELOPER INCOME

8 of 43

Page 9: The PHP Renaissance

DEVELOPER INCOME VS. AVERAGEDEVELOPER INCOME VS. AVERAGE

9 of 43

Page 10: The PHP Renaissance

FOOTNOTEFOOTNOTEResults not typical; your results may vary. Not intended to treat orprevent any boring or stressful career. May cause rectal bleeding.

10 of 43

Page 11: The PHP Renaissance

CHANGED LIVESCHANGED LIVES

11 of 43

Page 12: The PHP Renaissance

INSANITYINSANITY

12 of 43

Page 13: The PHP Renaissance

PHP CIRCA 2007PHP CIRCA 2007WHAT'S GOOD?WHAT'S GOOD?

Fast development cycle.Great HTML integration.Free, Freer, and Freedom.

13 of 43

Page 14: The PHP Renaissance

WHAT'S GOOD ABOUT PHP ISWHAT'S GOOD ABOUT PHP ISANYONE CAN DO IT!ANYONE CAN DO IT!

~~WHAT'S BAD ABOUT PHP ISWHAT'S BAD ABOUT PHP ISANYONEANYONE CAN DO IT.... CAN DO IT....

14 of 43

Page 15: The PHP Renaissance

TERRIBLE CODETERRIBLE CODE<?phpnamespace 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

Page 16: The PHP Renaissance

PEARPEARPHP Extension and Application RepositoryFounded 2000 on the "new" PHP 4Required root to use properly (WTF?)Complex process for adding packagesEasy to get wrong

16 of 43

Page 17: The PHP Renaissance

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 includesHow do I load everyone's code? Lots of manual includesHow can I collaborate on code? Sourceforge?Can I exchange code? LOLz

17 of 43

Page 18: The PHP Renaissance

THIS IS WHY WE CAN'TTHIS IS WHY WE CAN'THAVE 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

Page 19: The PHP Renaissance

19 of 43

Page 20: The PHP Renaissance

20 of 43

Page 21: The PHP Renaissance

"The average PHP programmer has written2.5 frameworks in his career, and afterward,

still doesn't know if needle or haystack comes first."

— Urban legend statistics

21 of 43

Page 22: The PHP Renaissance

GO PHP5.GO PHP5.

22 of 43

Page 23: The PHP Renaissance

SO WHAT'S CHANGED?SO WHAT'S CHANGED?PHP IN 2014PHP IN 2014

23 of 43

Page 24: The PHP Renaissance

GITHUBGITHUB

24 of 43

Page 25: The PHP Renaissance

COMPOSERCOMPOSERPHP packaging system backed by Packagist.org andGithub.com

25 of 43

Page 26: The PHP Renaissance

HIPHOPHIPHOPFacebook's Open Sourtime Runtime alternativealso runs HACK, a backward compatible lanaguge that addoptional typing, etc.

26 of 43

Page 27: The PHP Renaissance

PERFORMANCEPERFORMANCE

27 of 43

Page 28: The PHP Renaissance

PHP-FIG.ORGPHP-FIG.ORGFramewok Interoperability Group

28 of 43

Page 29: The PHP Renaissance

WHAT ELSE IS HOT?WHAT ELSE IS HOT?

29 of 43

Page 30: The PHP Renaissance

SYMFONY 2SYMFONY 2Application FrameworkPHP on Rails

30 of 43

Page 31: The PHP Renaissance

SILEX, LARAVEL, KOHANASILEX, LARAVEL, KOHANALighterHigher or lower level

31 of 43

Page 32: The PHP Renaissance

PHALCONPHALCONFramework in C.

32 of 43

Page 33: The PHP Renaissance

AURAAURANo, really, really decoupled.

33 of 43

Page 34: The PHP Renaissance

REACTPHPREACTPHPEvent Driven ProgrammingInspired by NodeJS & Twisted(Not to be confused with ReactJS from FB

34 of 43

Page 35: The PHP Renaissance

DRUPAL 8 & BACKDROPDRUPAL 8 & BACKDROPDrupal started in 2001Content Management System2013 Fork by active community membersIt's not about OOP

35 of 43

Page 36: The PHP Renaissance

COMMUNITYCOMMUNITYWhat do we want?

36 of 43

Page 37: The PHP Renaissance

ENTERPRISE?ENTERPRISE?Red Hat vs Linspire

37 of 43

Page 38: The PHP Renaissance

START-UPS?START-UPS?

38 of 43

Page 39: The PHP Renaissance

DIVERSITYDIVERSITY

39 of 43

Page 40: The PHP Renaissance

CAREERCAREER

40 of 43

Page 41: The PHP Renaissance

LOS ANGELES IS THE FASTEST GROWINGLOS ANGELES IS THE FASTEST GROWINGMARKET FOR TECH JOBS IN THE COUNTRY.MARKET FOR TECH JOBS IN THE COUNTRY.

-Some guy I know.

41 of 43

Page 42: The PHP Renaissance

CARD.COMCARD.COM

42 of 43

Page 43: The PHP Renaissance

DEFINEDDEFINEDRebirthRenewalCultural Cross-PolinationUnified Diversity

43 of 43