advertisement

Professional PHP - an open-source alternative for enterprise development

40 %
60 %
advertisement
Information about Professional PHP - an open-source alternative for enterprise development
Technology

Published on October 24, 2008

Author: felixdv

Source: slideshare.net

Description

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.
advertisement

Professional PHP an open-source alternative for enterprise development Thijs Feryn Felix De Vliegher 24/10/’08, Katho Kortrijk

an open-source alternative for enterprise development

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

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

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

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

You? Experience with programming Experience with PHP Experience with PHP based applications OOP in PHP? Professional experience? (read: not katho)

Experience with programming

Experience with PHP

Experience with PHP based applications

OOP in PHP?

Professional experience? (read: not katho)

Open source software Development methodology Source code is available Use, change, improve Collaborative Common licenses: GPL, LGPL, MIT Free “as in beer”

Development methodology

Source code is available

Use, change, improve

Collaborative

Common licenses: GPL, LGPL, MIT

Free “as in beer”

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

First used in c't magazine in 1998

Linux, Apache, MySQL and PHP

Open-source, free software

Available everywhere

Proven track record

Why PHP? Easy to learn

Easy to learn

Why PHP? Flexible in webserver environment Platform independent Lots of libraries, frameworks Huge community Code is freely available Documentation Commercial support Short TTM

Flexible in webserver environment

Platform independent

Lots of libraries, frameworks

Huge community

Code is freely available

Documentation

Commercial support

Short TTM

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?)

Dynamically typed

Low entry barrier

Stateless

Platform independence (vs .NET)

Interpreted language

Extensions and libraries

Built-in

Pecl

Pear

PHP is community friendly

PHP is community friendly Lots of PHP conferences / PHP UG’s Initiatives to contribute and learn Active and friendly support: forums irc twitter

Lots of PHP conferences / PHP UG’s

Initiatives to contribute and learn

Active and friendly support:

forums

irc

twitter

Shiny statistics (sort of) PHP 4 Yahoo goes PHP PHP 5 IBM & Oracle endorse PHP Microsoft endorses PHP PHP 6?

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 Testing & debugging

Language choice based on features

Often the first and only concern

Evolution towards:

Frameworks

Testing & debugging

PHP Frameworks Eases development More structure Glue (component) vs full-stack DRY No maintenance Extend or plugin where needed

Eases development

More structure

Glue (component) vs full-stack

DRY

No maintenance

Extend or plugin where needed

PHP Frameworks Zend Framework Component library and framework Symfony Full stack framework eZ Components Component library Loosely coupled Code Igniter Fast web application framework

Zend Framework

Component library and framework

Symfony

Full stack framework

eZ Components

Component library

Loosely coupled

Code Igniter

Fast web application framework

Security 1: Thou shalt filter input and escape output

Security php.ini settings Areas of importance: Form processing Databases Sessions Error handling / reporting Suhoshin / SAPI filter

php.ini settings

Areas of importance:

Form processing

Databases

Sessions

Error handling / reporting

Suhoshin / SAPI filter

Performance Micro optimizations? No premature optimization! Caching Opcode caching {Page|Database|Module|...} caching Database Optimized database design Indexing strategy Writing good SQL

Micro optimizations?

No premature optimization!

Caching

Opcode caching

{Page|Database|Module|...} caching

Database

Optimized database design

Indexing strategy

Writing good SQL

Performance Profiling: optimizing code Optimalization of PHP as a language

Profiling: optimizing code

Optimalization of PHP as a language

Scalability Shared nothing: independent and self-sufficient Design patterns - MVC Database scaling - sharding Development methodologies - agile, scrum Version control Documentation!

Shared nothing: independent and self-sufficient

Design patterns - MVC

Database scaling - sharding

Development methodologies - agile, scrum

Version control

Documentation!

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 higher quality Easier to refactor and change Makes confident developers

More testing == less debugging!

Applications should work as expected

Actually takes less time

Provides higher quality

Easier to refactor and change

Makes confident developers

Testing and coverage

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/

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/

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

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

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

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

Learn more about PHP Books: All of php|architect Power PHP 5 programming Advanced PHP Programming Magazines: php|architect magazine

Books:

All of php|architect

Power PHP 5 programming

Advanced PHP Programming

Magazines:

php|architect magazine

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)

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)

Applied at COMBELL Service oriented architecture Highly integrated with hosted solutions Using Zend Framework, Symfony Development workflow with: Subversion Unit testing Continuous integration (Cruisecontrol)

Service oriented architecture

Highly integrated with hosted solutions

Using Zend Framework, Symfony

Development workflow with:

Subversion

Unit testing

Continuous integration (Cruisecontrol)

 

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!

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!

If our presentation were a book

Thanks! Any questions? More info: [email_address] [email_address]

Any questions?

More info:

[email_address]

[email_address]

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Enterprise-Ready Open Source Projects - SourceForge ...

Enterprise, ... Free alternative for Office productivity tools: ... Convertigo is the most advanced Open Source Mobile Application Development Platform ...
Read more

HumHub - The flexible Open Source Social Network Kit for ...

We support you with your projects and provide professional services around HumHub. ... “I am drupal developer. ... closed source and even the open source ...
Read more

Windows Business & Enterprise Software - SourceForge.net

... secure and fast downloads from the largest Open Source ... PHP (320 ) JavaScript (248 ... MBaaS and Mobile Application Development Platform for ...
Read more

10 open-source alternatives for small business software ...

Books Software; Development; ... expensive commercial software for open-source alternatives. ... to the Professional, Corporate, Enterprise, ...
Read more

Top enterprise-ready, open source business tools ...

This article reviews three top open source business intelligence and reporting tools. In economies of big data and open data, who do we turn to in order to ...
Read more

Top 5 open source project management tools in 2014 ...

... Opensource.com covered some popular open source ... with enterprise solutions ... COBOL development; Top 5 open source ...
Read more

PDF Editing & Creation: 40+ Opensource/Free alternatives ...

... 40+ Opensource/Free alternatives to Adobe Acrobat. ... HylaFAX is an open source fax server that ... The PDFlib development tool offers a way for ...
Read more

OpenMEAP | Open Source Mobile Enterprise Application ...

OpenMEAP is a complete Mobile Enterprise ... OpenMEAP™ is the first open source ... OpenMEAP is leveraged to enable your existing web development ...
Read more