Agile Tools for PHP

Post on 10-May-2015

2864 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

PHP is one of the most commonly used programming languages in the world. Learn about the tools that help PHP keep up with its competitors in the world of web development. Hear about the tools that can be used to help with build and test automation on your PHP project, as well as demonstrations of the Composer dependency manager and PHPUnit.

Transcript

+

Agile Tools for PHP

Philip Ting

+History of PHP

1994 Rasmus Lerdorf, CGI binaries in C, online visit tracker

1995 PHP released

1997 PHP 2

1998 Zeev Suraski and Andi Gutmans rewrite PHP into PHP 3, resembles PHP today

2000 PHP 4, Zend engine

+History of PHP

2004 PHP 5.0, Zend engine 2

2005 PHP 5.1, PDO database access

2006 PHP 5.2, JSON support

2009 PHP 5.3, namespace, late static bindings, closures

2012 PHP 5.4, traits, cli web server, array syntax

+Problems PHP Faced

• Code Base• Naming inconsistencies (isset, is_null)

• Lack of modern language paradigms• Changed for 5.3+

• Lack of solid development tools• Changed recently

+Agile Values

Development tools are meant to address adaptability and simplicity

+Web Frameworks

Typically MVC Model View Controller

Simplicity and Adaptability

+Web Frameworks - Simplicity

CodeIgniter Easy to plug in, simple to work with, large community

Kohana Originally fork of CodeIgniter, also simple to work with

CakePHP Similar to Rails, lots of code generation

+Web Frameworks - Adaptability

Zend Framework Enterprise development

Symfony Enterprise development Other pieces

Silex microframework (like Sinatra) CLI

+Test Frameworks

Unit Tests PHPUnit, SimpleUnit

BDD Behat, Codeception Selenium integration Cucumber integration

+Object Relational Mappers

Object Relational Mappers (ORM) Used for generating models Can be considered frameworks of their own Meant to address both adaptability and simplicity

ActiveRecord Doctrine, Propel

DataMapper Doctrine 2

+Other Tools

Dependency Management pecl, pear, Composer

Continuous Integration Can use Jenkins Xinc

Build tools Phing

Similar to Ant

+Conclusion

PHP is a very viable language to use for your project

Google and Github are your friends

+Demonstration

top related