Professional PHP: an open-source alternative for enterprise development [Kortrijk]
-
Upload
combell-group -
Category
Technology
-
view
8.640 -
download
2
description
Transcript of Professional PHP: an open-source alternative for enterprise development [Kortrijk]
![Page 1: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/1.jpg)
Professional PHPan open-source alternative for enterprise development
Thijs FerynFelix De Vliegher
19/11/’08, Katho Kortrijk
![Page 2: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/2.jpg)
About us• ThijsFeryn
• Supportmanager&seniordeveloperatCOMBELL
• PHPdeveloperforabout5years
• ZendPHP5,cerGfiedengineer
• FelixDeVliegher
• Seniordeveloper&sysadminatCOMBELL
• PHPdeveloperforabout7years
• ZendPHP5,ZendFrameworkcerGfiedengineer
• Co‐founderPHPBelgium
• ContributortothePHPproject
![Page 3: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/3.jpg)
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
![Page 4: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/4.jpg)
You?
• Experience with programming
• Experience with PHP
• Experience with PHP based applications
• OOP in PHP?
• Professional experience? (read: not katho)
![Page 5: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/5.jpg)
Open source software• Development methodology
• Source code is available
• Use, change, improve
• Collaborative
• Common licenses: GPL, LGPL, MIT
• Free “as in beer”
![Page 6: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/6.jpg)
LAMP stack
• First used in c't magazine in 1998
• Linux, Apache, MySQL and PHP
• Open-source, free software
• Available everywhere
• Proven track recordApplication
PHPApache MySQL
Linux
![Page 7: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/7.jpg)
Why PHP?Easy to learn
![Page 8: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/8.jpg)
Why PHP?• Flexible in webserver environment
• Platform independent
• Lots of libraries, frameworks
• Huge community
• Code is freely available
•Documentation
• Commercial support
• Short TTM
![Page 9: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/9.jpg)
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?)
![Page 10: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/10.jpg)
PHP is community friendly
![Page 11: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/11.jpg)
PHP is community friendly
• Lots of PHP conferences / PHP UG’s
• Initiatives to contribute and learn
• Active and friendly support:
• forums• irc• twitter
![Page 12: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/12.jpg)
Shiny statistics (sort of)
PHP 4 Yahoogoes PHP PHP 5 IBM & Oracle
endorse PHPMicrosoft
endorses PHP PHP 6?
![Page 13: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/13.jpg)
PHP Applications
![Page 14: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/14.jpg)
Used by
![Page 15: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/15.jpg)
COMBELL customers using PHP
![Page 16: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/16.jpg)
Support by
![Page 17: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/17.jpg)
PHP in the enterpriseEvolution from a functional approach to enterprise fundamentals
![Page 18: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/18.jpg)
The fundamentals
![Page 19: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/19.jpg)
Functionality
• Language choice based on features
• Often the first and only concern
• Evolution towards:
• Frameworks
• Testing & debugging
![Page 20: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/20.jpg)
PHP Frameworks
•Eases development
•More structure
•Glue (component) vs full-stack
•DRY
•No maintenance
•Extend or plugin where needed
![Page 21: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/21.jpg)
PHP Frameworks• Zend Framework
• Component library and framework
• Symfony
• Full stack framework
• eZ Components
• Component library
• Loosely coupled
• Code Igniter
• Fast web application framework
![Page 22: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/22.jpg)
Security1: Thou shalt
filter input and escape output
![Page 23: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/23.jpg)
Security• php.ini settings
• Areas of importance:
• Form processing
• Databases
• Sessions
• Error handling / reporting
• Suhoshin / SAPI filter
![Page 24: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/24.jpg)
Performance• Micro optimizations?
• No premature optimization!
• Caching
• Opcode caching
• {Page|Database|Module|...} caching
• Database
• Optimized database design
• Indexing strategy
• Writing good SQL
![Page 25: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/25.jpg)
Performance• Profiling: optimizing code
• Optimalization of PHP as a language
![Page 26: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/26.jpg)
Scalability
• Shared nothing: independent and self-sufficient
• Design patterns - MVC
• Database scaling - sharding
• Development methodologies - agile, scrum
• Version control
• Documentation!
![Page 27: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/27.jpg)
Testing
I pity the fool who doesn’t write tests!
![Page 28: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/28.jpg)
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
![Page 29: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/29.jpg)
Testing and coverage
![Page 30: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/30.jpg)
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/
![Page 31: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/31.jpg)
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
![Page 32: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/32.jpg)
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
![Page 33: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/33.jpg)
Learn more about PHP• Books:
• All of php|architect• Power PHP 5 programming• Advanced PHP Programming
Magazines:• php|architect magazine
![Page 34: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/34.jpg)
Learn more about PHP• Websites:
http://www.phpdeveloper.orghttp://devzone.zend.comhttp://planet-php.org
• IRC (irc.freenode.net):#phpc, ##php, #php_bnl
•Training:PHP|ArchitectIbuildings (http://www.ibuildings.nl)
![Page 35: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/35.jpg)
Applied at COMBELL• Service oriented architecture
• Highly integrated with hosted solutions
• Using Zend Framework, Symfony
• Development workflow with:
• Subversion
• Unit testing
• Continuous integration (Cruisecontrol)
![Page 36: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/36.jpg)
![Page 37: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/37.jpg)
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!
![Page 38: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/38.jpg)
If our presentation were a book
![Page 39: Professional PHP: an open-source alternative for enterprise development [Kortrijk]](https://reader034.fdocuments.net/reader034/viewer/2022052619/555a000cd8b42ad00a8b4e2d/html5/thumbnails/39.jpg)
Thanks!
Any questions?
More info: