PEAR2 & Pyrus - The look ahead

3,691 views
3,583 views

Published on

Ever wondered what PEAR2 and Pyrus are all about ?
Want to know what they introduce and improve upon the old PEAR, well look no further. A core member of the PEAR community will lead the attendees through the maze and enlighten them about all this and more.

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

No Downloads
Views
Total views
3,691
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • Sandbox available to all
  • The default exception is good enough Exception implement an interface, each package has their own base exception namespace PEAR2PackageName; interface Exception {}
  • Uses OpenSSL2 PKCS#12 and X.509 certificates for package signing and verification
  • Smaller / Faster: Uses internal PHP 5.3+ feature to drop code size Robus: Uses XML and Sqlite3 for redundant register, can recover corrupt registries and so on
  • • Build process is easier then PEAR1, no more editing XML files • Code layout has to follow the PEAR2 rules • Project info goes in Readme file • Developer list goes in Credits file • Release notes go in Release-0.1.0 file • Run makepackage.php • Get a package
  • PEAR2 & Pyrus - The look ahead

    1. 1. PEAR2 & Pyrus, The Look Ahead
    2. 2. Head of R&D at echolibre , pear extraordinaire, author and from Iceland Head of R&D at echolibre , pear extraordinaire, published author and an Icelander Who is Helgi ? Head of R&D at echolibre , pear extraordinaire, author and from Iceland
    3. 3. What is PEAR today <ul><li>Structured library
    4. 4. Distribution system
    5. 5. Standards
    6. 6. Community </li></ul>
    7. 7. PEAR - New things <ul><li>PEAR Group elected by developers
    8. 8. Mirrors
    9. 9. More QA (Test coverage, Doc coverage)
    10. 10. Documentation </li></ul>
    11. 11. PEAR - Problems <ul><li>Documentation
    12. 12. High bus factor
    13. 13. Attracting new people
    14. 14. Image issues </li></ul>
    15. 15. PEAR2 Dissected
    16. 16. What is PEAR2 <ul><li>Concept overhaul of PEAR
    17. 17. PHP 5.3+
    18. 18. New Installer </li></ul>
    19. 19. New proposal process <ul><li>New packages go into the Sandbox
    20. 20. Channel for stable packages only
    21. 21. Sandbox to main channel at beta </li></ul>
    22. 22. From sandbox to production <ul><li>Complete-sih documentation
    23. 23. 50%+ code coverage in unit tests
    24. 24. API approved by other developers
    25. 25. Final package name </li></ul>
    26. 27. Documentation with PhD <ul><li>Uses the new awesome PhD
    27. 28. Still Docbook
    28. 29. Easy to setup
    29. 30. Integration of full books possible (TDG) </li></ul>
    30. 31. Documentation with PhD The PEAR manual is built in 5 minutes, not hours !
    31. 32. Exceptions <ul><li>No base exception to extend from
    32. 33. SPL exceptions encouraged </li></ul>
    33. 34. Include / Require Once <ul><li>Not allowed !
    34. 35. Users given the choice </li></ul>
    35. 36. Include / Require Once <ul><li>PEAR2 Autoload
    36. 37. allfiles.php – Includes everything
    37. 38. Include files that are highly tweaked </li></ul>
    38. 39. Unzip and go <ul><li>Classical unzip just works
    39. 40. Extracted packages can be upgraded </li></ul>
    40. 41. Namespaces <ul>Will be used in PEAR2 </ul>
    41. 42. Namespaces Namespace PEAR2; class MyClass {} Namespace PEAR2HTTP; class Request {} Class: PEAR2HTTPRequest Package Name: PEAR2_HTTP_Request
    42. 44. PEAR Pyrus Pyrus_Developer
    43. 45. The new installer <ul><li>Easier to use
    44. 46. No installation of the installer just grab phar
    45. 47. Capable of packaging entire apps in phars
    46. 48. Can manage multiple installed PEAR trees </li></ul>
    47. 49. The new installer <ul><li>Custom tree can use deps from the system
    48. 50. Easy packaging when using PEAR2 svn layout
    49. 51. More security </li></ul>
    50. 52. The new installer <ul><li>Smaller
    51. 53. Faster
    52. 54. More robust
    53. 55. Better handling of PECL
    54. 56. Easy to embed in your app </li></ul>
    55. 57. Status <ul><li>Waiting for PHP 5.3.1
    56. 58. Finishing touches on pear2.php.net
    57. 59. Almost ready for alpha!
    58. 60. 80% Test Coverage </li></ul>
    59. 61. How to use <ul><li>php pyrus.phar command
    60. 62. php pyrus.phar [directory] command </li></ul>
    61. 63. Pyrus_Developer <ul><li>generate-pear2
    62. 64. make
    63. 65. package
    64. 66. generate-ext
    65. 67. pickle
    66. 68. build </li></ul>
    67. 69. Handling package xml files <ul><li>Use the standard directory structure
    68. 70. Package info goes into README
    69. 71. Developer info goes into CREDITS
    70. 72. Release notes go into RELEASE-0.1.0
    71. 73. Run a 20 line package.php
    72. 74. Voila ! Package is created </li></ul>
    73. 75. Simple Channel Server <ul><li>PEAR Channel info REST server
    74. 76. No dependencies except for pyrus
    75. 77. Builds static XML and package files
    76. 78. No web frontend </li></ul>
    77. 79. Questions? Email: [email_address] Twitter: @h http://joind.in/talk/view/955

    ×