Future of PHP

7,333 views

Published on

PHP is changing from a simple template-ing language and html decorator to a fully fledged server side language.

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,333
On SlideShare
0
From Embeds
0
Number of Embeds
232
Actions
Shares
0
Downloads
43
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Future of PHP

    1. 1. RICHARD MCINTYRE• Freelance Web Developer• Works at BBC Mobile Core Engineering• Committer to the Lithium Framework• Lived for 15 years in Japan• Finished Leeds Half in 1:51• Twitter: @mackstar
    2. 2. THE FUTURE OF PHP And how this applies to you
    3. 3. <div class="entry"> <h1>{{title}}</h1> <div class="body"> {{{body}}} </div>
    4. 4. Handlebars<div class="entry"> <h1>{{title}}</h1> <div class="body"> {{{body}}} </div>
    5. 5. Hello {{name}}You have just won ${{value}}!{{#in_ca}}Well, ${{taxed_value}}, after taxes.{{/in_ca}}
    6. 6. MoustacheHello {{name}}You have just won ${{value}}!{{#in_ca}}Well, ${{taxed_value}}, after taxes.{{/in_ca}}
    7. 7. PHP’S BACKGROUND Where we have come from
    8. 8. DEVICES
    9. 9. DEVICESJavascript is super portable
    10. 10. PILE OF SHIT
    11. 11. ARE YOU STILL USING PHP BASED PARTIALS FOR LOADING AJAX?
    12. 12. TWITTER.COM - XHR
    13. 13. JAVASCRIPT FRAMEWORKS• Backbone.js • Meteor.js• Ember.js• Sproutcore• Google closure• Javascript MVC• Cappucino
    14. 14. The key to being a good JavaScript programmer is being able to laugh at, and understand the significance of, this image.
    15. 15. PHPFront Back End End
    16. 16. YOUR APPS NEED TOBE AVAILABLE AS API’S
    17. 17. Show code
    18. 18. Silex Show code
    19. 19. Silex Show code
    20. 20. Silexrequire_once __DIR__./silex.phar;$app = new SilexApplication();$app->get(/hello/{name}, function($name) use($app) { return Hello .$app->escape($name);});$app->run(); Show code
    21. 21. Slim
    22. 22. Slim
    23. 23. Slimrequire Slim/Slim.php;$app = new Slim();$app->get(/hello/:name, function ($name) { echo "Hello, $name!";});$app->run();
    24. 24. Flight
    25. 25. Flight
    26. 26. Flightrequire flight/Flight.php;Flight::route(/, function(){ echo hello world!;});Flight::start();
    27. 27. Limonade???require_once vendors/limonade.php;dispatch(/, hello); function hello() { return Hello world!; }run();
    28. 28. Limonade???require_once vendors/limonade.php;dispatch(/, hello); function hello() { return Hello world!; }run();
    29. 29. Lithium #li3 (My Precious)
    30. 30. // GET requestRouter::connect("/create", array("http:method" => "GET"), function($request){ // Do something and return Response object });// POST requestRouter::connect("/create", array("http:method" => "POST"), function($request){ // Do something and return Response object });
    31. 31. // PUT requestRouter::connect("/create", array("http:method" => "PUT"), function($request){ // Do something and return Response object });// DELETE requestRouter::connect("/create", array("http:method" => "DELETE"), function($request){ // Do something and return Response object }); Show code
    32. 32. ARE YOU A SLAVE? to the technology you use...
    33. 33. <?php define(‘SLAVERY’, ‘your shit here’); ?>
    34. 34. === ‘SLAVERY’ Show code
    35. 35. === ‘SLAVERY’
    36. 36. Your favorite framework === ‘SLAVERY’
    37. 37. ADVANCES IN PHP LANGUAGE
    38. 38. YOU CAN CHOOSE MORE than 1 framework
    39. 39. PSR-0An agreement to use namespaces or spaces to expose your directory structure
    40. 40. 3 FRAMEWORKS IN 1 APPhttp://www.slideshare.net/weaverryan/a-php-christmas- miracle-3-frameworks-1-app Actually Java and Python have had this all along...
    41. 41. CLICommand Line Interface
    42. 42. PHP IS A FULLY FLEDGED back end programming language
    43. 43. PHPFront More Solutions Back End Bridge End
    44. 44. NODE.JSSome thoughts....
    45. 45. ARE YOU A BACK END PHP NINJA?
    46. 46. ARE YOU A BACK END PHP NINJA? Specialist
    47. 47. WELL ROUNDED COOL GUY
    48. 48. WELL ROUNDED COOL GUY Generalist
    49. 49. ARE YOU MULTI-LINGUAL?
    50. 50. ARE YOU MULTI-LINGUAL? Language agnostic
    51. 51. CAN YOU KICK ASS IN A FIGHT?
    52. 52. CAN YOU KICK ASS IN A FIGHT? Stand up for PHP
    53. 53. Testing
    54. 54. Testing Version Control
    55. 55. Testing Version Control Reading other peoples code
    56. 56. Testing Version Control Reading other peoples codeDocumentation
    57. 57. Testing Version Control Reading other peoples codeUsing other libraries Documentation
    58. 58. Testing Version Control Reading other peoples codeUsing other libraries Documentation Continuous integration
    59. 59. Testing Version Control Reading other peoples codeUsing other libraries Documentation Caching Continuous integration
    60. 60. Testing Version Control Reading other peoples codeUsing other libraries Build Tools Documentation Caching Continuous integration
    61. 61. Testing Version Control Reading other peoples codeUsing other libraries Build Tools Performance Documentation Caching Continuous integration
    62. 62. Testing Version Control Reading other peoples codeUsing other libraries Build Tools Performance Documentation Having others read your code Caching Continuous integration

    ×