Your SlideShare is downloading. ×
Professional PHP - an open-source alternative for enterprise development
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Professional PHP - an open-source alternative for enterprise development

3,697
views

Published on

A general overview of using PHP as an open-source alternative for enterprise development. This presentation was given as a guest lecture for senior-year BEng students.

A general overview of using PHP as an open-source alternative for enterprise development. This presentation was given as a guest lecture for senior-year BEng students.

Published in: Technology

2 Comments
8 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,697
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Professional PHP
    • an open-source alternative for enterprise development
    Thijs Feryn Felix De Vliegher 24/10/’08, Katho Kortrijk
  • 2. About us
    • Thijs Feryn
      • Support manager & senior developer at COMBELL
      • PHP developer for about 5 years
      • Zend PHP5, certified engineer
    • Felix De Vliegher
      • Senior developer & sysadmin at COMBELL
      • PHP developer for about 7 years
      • Zend PHP5, Zend Framework certified engineer
      • Co-founder PHPBelgium
      • Contributor to the PHP project
  • 3. About COMBELL
    • Founded in 1999
    • 30 FTE and growing
    • +25 000 customers
    • Premium / Quality hosting segment
    • Leading hosting provider in Belgium concerning hosting & domain names in the SME market
        • + 60 000 domain names
        • + 20 000 websites
        • + 600 servers, owned & managed by COMBELL
        • + 400 resellers
  • 4. You?
    • Experience with programming
    • Experience with PHP
    • Experience with PHP based applications
    • OOP in PHP?
    • Professional experience? (read: not katho)
  • 5. Open source software
    • Development methodology
    • Source code is available
    • Use, change, improve
    • Collaborative
    • Common licenses: GPL, LGPL, MIT
    • Free “as in beer”
  • 6. LAMP stack
    • First used in c't magazine in 1998
    • Linux, Apache, MySQL and PHP
    • Open-source, free software
    • Available everywhere
    • Proven track record
    Application PHP Apache MySQL Linux
  • 7. Why PHP?
    • Easy to learn
  • 8. Why PHP?
    • Flexible in webserver environment
    • Platform independent
    • Lots of libraries, frameworks
    • Huge community
    • Code is freely available
    • Documentation
    • Commercial support
    • Short TTM
  • 9. PHP vs other languages
    • Dynamically typed
    • Low entry barrier
    • Stateless
    • Platform independence (vs .NET)
    • Interpreted language
    • Extensions and libraries
        • Built-in
        • Pecl
        • Pear
    (let’s say Java?)
  • 10. PHP is community friendly
  • 11. PHP is community friendly
    • Lots of PHP conferences / PHP UG’s
    • Initiatives to contribute and learn
    • Active and friendly support:
        • forums
        • irc
        • twitter
  • 12. Shiny statistics (sort of) PHP 4 Yahoo goes PHP PHP 5 IBM & Oracle endorse PHP Microsoft endorses PHP PHP 6?
  • 13. PHP Applications
  • 14. Used by
  • 15. COMBELL customers using PHP
  • 16. Support by
  • 17. PHP in the enterprise Evolution from a functional approach to enterprise fundamentals
  • 18. The fundamentals
  • 19. Functionality
    • Language choice based on features
    • Often the first and only concern
    • Evolution towards:
        • Frameworks
        • Testing & debugging
  • 20. PHP Frameworks
    • Eases development
    • More structure
    • Glue (component) vs full-stack
    • DRY
    • No maintenance
    • Extend or plugin where needed
  • 21. PHP Frameworks
    • Zend Framework
        • Component library and framework
    • Symfony
        • Full stack framework
    • eZ Components
        • Component library
        • Loosely coupled
    • Code Igniter
          • Fast web application framework
  • 22. Security 1: Thou shalt filter input and escape output
  • 23. Security
    • php.ini settings
    • Areas of importance:
        • Form processing
        • Databases
        • Sessions
        • Error handling / reporting
    • Suhoshin / SAPI filter
  • 24. Performance
    • Micro optimizations?
    • No premature optimization!
    • Caching
        • Opcode caching
        • {Page|Database|Module|...} caching
    • Database
        • Optimized database design
        • Indexing strategy
        • Writing good SQL
  • 25. Performance
    • Profiling: optimizing code
    • Optimalization of PHP as a language
  • 26. Scalability
    • Shared nothing: independent and self-sufficient
    • Design patterns - MVC
    • Database scaling - sharding
    • Development methodologies - agile, scrum
    • Version control
    • Documentation!
  • 27. Testing I pity the fool who doesn’t write tests!
  • 28. Testing
    • More testing == less debugging!
    • Applications should work as expected
    • Actually takes less time
    • Provides higher quality
    • Easier to refactor and change
    • Makes confident developers
  • 29. Testing and coverage
  • 30. PHP Tools and utilities
    • Editors
        • Eclipse PDT - http://www.eclipse.org/pdt/
        • Zend Studio - http://www.zend.com/studio
    • Continuous Integration
        • phpUnderControl - http://www.phpunit.de
    • Debuggers / Profilers
        • Xdebug - http://www.xdebug.org
    • Testing tools
        • PHPUnit - http://www.phpunit.info
        • Selenium - http://selenium-ide.openqa.org/
  • 31. Certifications
    • Zend PHP 5 certification
    • Zend Framework Certification
    • Why:
      • Differentiate yourself when looking for a job
      • Get listed in Zend Yellow Pages
      • Confirmation of a decent PHP skillset
  • 32. PHPBelgium user group
    • Point of information for PHP
    • For developers, education, businesses
    • Bi-monthly meetings (with a drink)
    • Organizing PHP-related events
    • PHP Bug Hunt Day
    • http://www.phpbelgium.be | http://bughuntday.org
  • 33. Learn more about PHP
    • Books:
        • All of php|architect
        • Power PHP 5 programming
        • Advanced PHP Programming
      • Magazines:
        • php|architect magazine
  • 34. Learn more about PHP
      • Websites:
        • http://www.phpdeveloper.org
        • http://devzone.zend.com
        • http://planet-php.org
      • IRC (irc.freenode.net):
        • #phpc, ##php, #php_bnl
    • Training:
        • PHP|Architect
        • Ibuildings (http://www.ibuildings.nl)
  • 35. Applied at COMBELL
    • Service oriented architecture
    • Highly integrated with hosted solutions
    • Using Zend Framework, Symfony
    • Development workflow with:
      • Subversion
      • Unit testing
      • Continuous integration (Cruisecontrol)
  • 36.  
  • 37. Others are hiring too
    • PHP is becoming big in enterprises
    • Valid career choice, not everything needs to be done with Java or .NET
    • PHP Engineers are in high demand!
  • 38. If our presentation were a book
  • 39. Thanks!
    • Any questions?
    • More info:
    • [email_address]
    • [email_address]