Professional PHP
an open-source alternative for enterprise development




                            Thijs Feryn
       ...
About us
•   Thijs
Feryn

    •   Support
manager
&
senior
developer
at
COMBELL
    •   PHP
developer
for
about
5
years
  ...
About COMBELL
     • Founded in 1999
     • 30 FTE and growing
     • +25 000 customers
     • Premium / Quality hosting s...
You?
• Experience with programming
• Experience with PHP
• Experience with PHP based applications
• OOP in PHP?
• Professi...
Open source software
• Development methodology
• Source code is available
• Use, change, improve
• Collaborative
• Common ...
LAMP stack
• First used in c't magazine in 1998
• Linux, Apache, MySQL and PHP
• Open-source, free software
• Available ev...
Why PHP?
Easy to learn
Why PHP?
• Flexible in webserver environment
• Platform independent
• Lots of libraries, frameworks
• Huge community
• Cod...
PHP vs other languages
                               (let’s say Java?)
• Dynamically typed
• Low entry barrier
• Stateles...
PHP is community friendly
PHP is community friendly
  • Lots of PHP conferences / PHP UG’s
  • Initiatives to contribute and learn
  • Active and fr...
Shiny statistics                  (sort of)


          Yahoo             IBM & Oracle   Microsoft
PHP 4    goes PHP   PHP...
PHP Applications
Used by
COMBELL customers using PHP
Support by
PHP in the enterprise
Evolution from a functional approach to enterprise
fundamentals
The fundamentals
Functionality

• Language choice based on features
• Often the first and only concern
• Evolution towards:
   • Frameworks
...
PHP Frameworks
• Eases development
• More structure
• Glue (component) vs full-stack
• DRY
• No maintenance
• Extend or pl...
PHP Frameworks
 •   Zend Framework

      •   Component library and framework

 •   Symfony

      •   Full stack framewor...
Security
        1: Thou shalt
   filter input and escape
           output
Security
• php.ini settings
• Areas of importance:
   • Form processing
   • Databases
   • Sessions
   • Error handling /...
Performance
•   Micro optimizations?
•   No premature optimization!
•   Caching
     •   Opcode caching
     •   {Page|Dat...
Performance
• Profiling: optimizing code
• Optimalization of PHP as a language
Scalability
• Shared nothing: independent and self-sufficient
• Design patterns - MVC
• Database scaling - sharding
• Devel...
Testing

I pity the fool who
doesn’t write tests!
Testing
• More testing == less debugging!
• Applications should work as expected
• Actually takes less time
• Provides hig...
Testing and coverage
PHP Tools and utilities
•   Editors
     •   Eclipse PDT - http://www.eclipse.org/pdt/
     •   Zend Studio - http://www.z...
Certifications
• Zend PHP 5 certification
• Zend Framework Certification

• Why:
 •   Differentiate yourself when looking for...
PHPBelgium user group
• Point of information for PHP
• For developers, education, businesses
• Bi-monthly meetings (with a...
Learn more about PHP
• Books:
    • All of php|architect
    • Power PHP 5 programming
    • Advanced PHP Programming


Ma...
Learn more about PHP
• Websites:
     http://www.phpdeveloper.org
     http://devzone.zend.com
     http://planet-php.org
...
Applied at COMBELL
• Service oriented architecture
• Highly integrated with hosted solutions
• Using Zend Framework, Symfo...
Others are hiring too

• PHP is becoming big in enterprises
• Valid career choice, not everything needs
  to be done with ...
If our presentation were a book
Thanks!
    Any questions?


      More info:
felix@combellgroup.com
thijs@combellgroup.com
Professional PHP: an open-source alternative for enterprise development [Kortrijk]
Upcoming SlideShare
Loading in...5
×

Professional PHP: an open-source alternative for enterprise development [Kortrijk]

8,746

Published on

A presentation on Enterprise PHP development for people who have no experience with PHP programming.

Basically this presentation defends PHP as a worthy technology for enterprise projects and is directly compared with other enterprise technologies such as Java and the .NET framework

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

No Downloads
Views
Total Views
8,746
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
214
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Professional PHP: an open-source alternative for enterprise development [Kortrijk]

  1. 1. Professional PHP an open-source alternative for enterprise development Thijs Feryn Felix De Vliegher 19/11/’08, Katho Kortrijk
  2. 2. About us • Thijs
Feryn • Support
manager
&
senior
developer
at
COMBELL • PHP
developer
for
about
5
years • Zend
PHP5,
cerGfied
engineer • Felix
De
Vliegher • Senior
developer
&
sysadmin
at
COMBELL • 
PHP
developer
for
about
7
years • 
Zend
PHP5,
Zend
Framework
cerGfied
engineer • 
Co‐founder
PHPBelgium • 
Contributor
to
the
PHP
project
  3. 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. 4. You? • Experience with programming • Experience with PHP • Experience with PHP based applications • OOP in PHP? • Professional experience? (read: not katho)
  5. 5. Open source software • Development methodology • Source code is available • Use, change, improve • Collaborative • Common licenses: GPL, LGPL, MIT • Free “as in beer”
  6. 6. LAMP stack • First used in c't magazine in 1998 • Linux, Apache, MySQL and PHP • Open-source, free software • Available everywhere Application • Proven track record PHP Apache MySQL Linux
  7. 7. Why PHP? Easy to learn
  8. 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. 9. PHP vs other languages (let’s say Java?) • Dynamically typed • Low entry barrier • Stateless • Platform independence (vs .NET) • Interpreted language • Extensions and libraries • Built-in • Pecl • Pear
  10. 10. PHP is community friendly
  11. 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. 12. Shiny statistics (sort of) Yahoo IBM & Oracle Microsoft PHP 4 goes PHP PHP 5 endorse PHP endorses PHP PHP 6?
  13. 13. PHP Applications
  14. 14. Used by
  15. 15. COMBELL customers using PHP
  16. 16. Support by
  17. 17. PHP in the enterprise Evolution from a functional approach to enterprise fundamentals
  18. 18. The fundamentals
  19. 19. Functionality • Language choice based on features • Often the first and only concern • Evolution towards: • Frameworks • Testing & debugging
  20. 20. PHP Frameworks • Eases development • More structure • Glue (component) vs full-stack • DRY • No maintenance • Extend or plugin where needed
  21. 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. 22. Security 1: Thou shalt filter input and escape output
  23. 23. Security • php.ini settings • Areas of importance: • Form processing • Databases • Sessions • Error handling / reporting • Suhoshin / SAPI filter
  24. 24. Performance • Micro optimizations? • No premature optimization! • Caching • Opcode caching • {Page|Database|Module|...} caching • Database • Optimized database design • Indexing strategy • Writing good SQL
  25. 25. Performance • Profiling: optimizing code • Optimalization of PHP as a language
  26. 26. Scalability • Shared nothing: independent and self-sufficient • Design patterns - MVC • Database scaling - sharding • Development methodologies - agile, scrum • Version control • Documentation!
  27. 27. Testing I pity the fool who doesn’t write tests!
  28. 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. 29. Testing and coverage
  30. 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. 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. 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. 33. Learn more about PHP • Books: • All of php|architect • Power PHP 5 programming • Advanced PHP Programming Magazines: • php|architect magazine
  34. 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. 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. 36. 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!
  37. 37. If our presentation were a book
  38. 38. Thanks! Any questions? More info: felix@combellgroup.com thijs@combellgroup.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×