Enterprise PHP (Zend UK Business Conference)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    5 Favorites & 1 Group

    Enterprise PHP (Zend UK Business Conference) - Presentation Transcript

    1. Enterprise PHP development Ivo Jansch <ivo@ibuildings.nl> PHP For Business Seminar, July 2nd 2007
    2. About me
      • CTO at Ibuildings.nl
        • Development using PHP (websites, applications)
        • Big projects (high traffic, multi-tier, clusters, high availability, large teams)
        • Consultancy (how to do big projects)
      • Geek!
        • Author of several Open Source projects
        • Yair: “careful, these are business people, NO GEEKS!”
    3. About PHP
      • Traditional metaphor
        • PHP is like Lego bricks
        • Bricks allowing you to build anything
    4. About PHP
      • PHP is no longer a toy
        • Let’s use the metaphor of actual bricks
        • Because we’re building actual buildings now
    5. About Bricks
      • Extreme simplicity
      • Easy to learn
      • Versatile
      • Cheap
      • ... so building a skyscraper must be peanuts, right?
    6. 7 important steps
    7. Step 1 - Recruitment
      • “ Dear Mr. Businessman,
      • I have read about your plans to build a new skyscraper and I am applying for a job.
      • I have a lot of experience with Bricks. I taught myself how to use them and have been maintaining our family shed for a few years now.”
    8. Step 1 - Recruitment
      • Hire software engineers
        • Computer Science background
        • It’s OK if they didn’t use Bricks
        • Train your people
        • Consider Zend Certification
    9. Step 2 - Architecture
      • Don’t just start stacking bricks
      • Create an architecture first
    10. Step 2 - Architecture
      • Functional Design
        • Requirements definition
      • Technical Design
        • Modelling
          • Class diagrams
          • ER diagram (data model)
          • Colaboration diagrams
          • Use cases
          • etc.
        • Tools: UML, whiteboards
    11. Step 3 - Tools
      • You don’t need tools...
      • But they make you productive
    12. Step 3 - Tools
      • Tools for developers:
        • Eclipse (PHP-IDE)
        • Vim
        • Zend Studio
      • Source control:
        • SVN
        • CVS
    13. Step 4 - Foundation
      • Start stacking bricks?
        • How many bricks does it take..
        • What about stability?
      • Start with a foundation
    14. Step 4 - Foundation
      • Use a framework
        • Stable basis
        • Provides guidelines (frame)
        • Off the shelf components
      • Examples
        • Zend Framework http://framework.zend.com
        • Symfony http://www.symfony-project.org
        • ATK http://www.achievo.org/atk
    15. Step 5 – Design Patterns
      • Requirement 1056.4:
      • W e need to be able to look outside, but we
      • can't make holes in the wall ( rain should be
      • kept outside ) . When it's sunny, a hole is ok.
    16. Step 5 – Design Patterns
      • A ‘window’ is a concept
        • Best practice way of solving a particular problem
        • Standard solution
        • Ready-made products available
      • In PHP, we call this a ‘design pattern’
        • Ask your geeks about Iterators and Singletons
    17. Step 6 - Testing
      • Is your software only tested once it’s built?
    18. Step 6 - Testing
      • Consider Test Driven Development
    19. Step 6 - Testing
      • Testing for PHP applications:
        • PHPUnit http://www.phpunit.de/
        • SimpleTest http://www.lastcraft.com/simple_test.php
      • Continuous Integration:
        • Xinc http://xinc.entrypoint.biz/
    20. Step 7 - Optimization
      • Users are reporting:
      • &quot;I work on the 197th floor. Every day I
      • have to walk the stairs for 2 hours, then I
      • have only 4 hours left to do my job.&quot;
    21. Step 7 - Optimization
      • Solution: Elevator
    22. Step 7 - Optimization
      • In PHP, this ‘elevator’ is called an ‘accelerator’
        • This is how PHP works (very non-geek version):
          • getToWork(); // php engine does this
          • getTheJobDone(); // this is your code
        • An accelerator improves the ‘getToWork’ part
        • Accelerators for PHP:
          • eAccelerator http://eaccelerator.net/
          • APC http://pecl.php.net/package/APC
          • Zend Platform http://www.zend.com/products/zend_platform
    23. Step 7 - Optimization
      • Users complain:
      • “ Every time I need coffee I have to go
      • to the top floor to get some.”
    24. Step 7 - Optimization
      • Solution: Create small coffee corners on every floor so people don’t have to go to the main restaurant every time.
      • In PHP we call this caching
        • Don’t query the database everytime you need data
        • Use locally stored copy (file or memory)
      • PHP Caching solutions:
        • Smarty http://smarty.php.net
        • Zend Platform http://www.zend.com/products/zend_platform
        • Memcached http://danga.com/memcached/
    25. The Big Picture
      • No ‘cowboy coding’, but structured steps
        • Higher quality
        • Software will be easier to maintain (and cheaper)
      • Development methodology
        • Waterfall
        • Agile (DSDM, XP, Scrum)
      • Software Development Life Cycle (SDLC)
        • Adapt from existing methods, learn from experts
        • Document it properly
        • Make it the cornerstone of your development efforts
        • “ The Zend Way”
    26. More things to think about?
      • Debugging
      • Security
      • Deployment
      • Maintenance
      • Change management
      • Monitoring
      • Need help?
        • http://www.ibuildings.nl [email_address]
        • http://www.zend.com
    27. Questions? http://www.ibuildings.nl http://www.achievo.org/blog [email_address]

    + Ivo JanschIvo Jansch, 3 years ago

    custom

    2243 views, 5 favs, 4 embeds more stats

    Presentation about professional PHP development I d more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2243
      • 2072 on SlideShare
      • 171 from embeds
    • Comments 0
    • Favorites 5
    • Downloads 0
    Most viewed embeds
    • 154 views on http://www.jansch.nl
    • 13 views on http://www.achievo.org
    • 2 views on http://lj-toys.com
    • 2 views on http://kaloyan.info

    more

    All embeds
    • 154 views on http://www.jansch.nl
    • 13 views on http://www.achievo.org
    • 2 views on http://lj-toys.com
    • 2 views on http://kaloyan.info

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events