Professional PHP: an open-source alternative for enterprise development [Antwerpen]
-
Upload
combell-group -
Category
Technology
-
view
5.146 -
download
0
Transcript of Professional PHP: an open-source alternative for enterprise development [Antwerpen]
Professional PHP
an open-source alternative for enterprise development
Thijs FerynFelix De Vliegher28/11/08, KDG AntwerpenThijs
About us
Thijs Feryn
Support manager & senior developer at COMBELL
PHP developer for about 5 years
Zend PHP5, certified engineer
Contributor to Zend Framework
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 and Zend Framework
Felix en Thijs
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
Thijs
You?
Experience with programming
Experience with PHP
Experience with PHP based applications
OOP in PHP?
Professional experience? (non-academic)
Felix
Open source software
Development methodology
Source code is available
Use, change, improve
Collaborative
Common licenses: GPL, LGPL, MIT
Free as in beer
Felix
The Cathedral and the Bazaar (abbreviated CatB) is an essay by Eric S. Raymond on software engineering methods
LAMP stack
First used in c't magazine in 1998
Linux, Apache, MySQL and PHP
Open-source, free software
Available everywhere
Proven track record
ApplicationPHP
Apache
MySQLLinux
Felix
Why PHP?
Easy to learn
Thijs
Why PHP?
Flexible in webserver environment
Platform independent
Lots of libraries, frameworks
Huge community
Code is freely available
Documentation
Commercial support
Short TTM
Thijs
PHP vs other languages
Dynamically typed
Low entry barrier
Stateless
Platform independence (vs .NET)
Interpreted language
Extensions and libraries
Built-in
Pecl
Pear
(lets say Java?)Felix
PHP is community friendly
Felix
PHP is community friendly
Lots of PHP conferences / PHP UGs
Initiatives to contribute and learn
Active and friendly support:
forums
irc
Felix
Shiny statistics (sort of)
PHP 4Yahoogoes PHPPHP 5IBM & Oracle endorse PHPMicrosoftendorses PHPPHP 6?
Thijs en Felix
PHP Applications
Thijs
Used by
Felix
COMBELL customers using PHP
Thijs
Support by
Felix
PHP in the enterprise
Evolution from a functional approach to enterprise fundamentals
Thijs
The fundamentals
Felix
Functionality
Language choice based on features
Often the first and only concern
Evolution towards:
Frameworks
Testing & debugging
Thijs
PHP Frameworks
Eases development
More structure
Glue (component) vs full-stack
DRY
No maintenance
Extend or plugin where needed
Thijs en Felix
PHP Frameworks
Zend Framework
Component library and framework
Symfony
Full stack framework
eZ Components
Component library
Loosely coupled
Code Igniter
Fast web application framework
Felix
Security
1: Thou shalt filter input and escape outputFelix
Security
php.ini settings
Areas of importance:
Form processing
Databases
Sessions
Error handling / reporting
Suhoshin / SAPI filter / mod_security
Felix
Performance
Micro optimizations?
No premature optimization!
Caching
Opcode caching
{Page|Database|Module|...} caching
Database
Optimized database design
Indexing strategy
Writing good SQL
Felix
Performance
Profiling: optimizing code
Optimalization of PHP as a language
Felix
Scalability
Shared nothing: independent and self-sufficient
Design patterns - MVC
Database scaling - sharding
Development methodologies - agile, scrum
Version control
Documentation!
Thijs
Testing
I pity the fool who doesnt write tests!Felix
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
Felix
Testing and coverage
Felix
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.seleniumhq.org
Thijs
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
Thijs (en Felix over ZFCE)
PHPBelgium user group
Point of information for PHP
For developers, education, businesses
Bi-monthly meetings (http://www.phpbelgium.be )
Organizing PHP-related eventsPHP TestFest (http://qa.php.net)
PHP Bug Hunt Day (http://www.bughuntday.org)
Felix
Learn more about PHP
Books:
All of php|architect
Power PHP 5 programming
Advanced PHP Programming
Magazines:php|architect magazine
Thijs
Learn more about PHP
Websites:
http://www.phpdeveloper.orghttp://devzone.zend.comhttp://planet-php.orgIRC (irc.freenode.net):
#phpc, ##php, #php_bnl
Training:
PHP|ArchitectIbuildings (http://www.ibuildings.nl)We provide training, too!Felix
Applied at COMBELL
Service oriented architecture
Highly integrated with hosted solutions
Using Zend Framework, Symfony
Development workflow with:
Subversion
Unit testing
Continuous integration (Cruisecontrol)
Thijs
Thijs
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!
Felix
If our presentation were a bookThijs
Thanks!
Any questions?
More info: [email protected]@combellgroup.com
Felix