agile tools for php

13
+ Agile Tools for PHP Philip Ting

Upload: philipjting

Post on 10-May-2015

2.866 views

Category:

Technology


1 download

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

Page 1: Agile Tools for PHP

+

Agile Tools for PHP

Philip Ting

Page 2: Agile Tools for PHP

+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

Page 3: Agile Tools for PHP

+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

Page 4: Agile Tools for PHP

+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

Page 5: Agile Tools for PHP

+Agile Values

Development tools are meant to address adaptability and simplicity

Page 6: Agile Tools for PHP

+Web Frameworks

Typically MVC Model View Controller

Simplicity and Adaptability

Page 7: Agile Tools for PHP

+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

Page 8: Agile Tools for PHP

+Web Frameworks - Adaptability

Zend Framework Enterprise development

Symfony Enterprise development Other pieces

Silex microframework (like Sinatra) CLI

Page 9: Agile Tools for PHP

+Test Frameworks

Unit Tests PHPUnit, SimpleUnit

BDD Behat, Codeception Selenium integration Cucumber integration

Page 10: Agile Tools for PHP

+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

Page 11: Agile Tools for PHP

+Other Tools

Dependency Management pecl, pear, Composer

Continuous Integration Can use Jenkins Xinc

Build tools Phing

Similar to Ant

Page 12: Agile Tools for PHP

+Conclusion

PHP is a very viable language to use for your project

Google and Github are your friends

Page 13: Agile Tools for PHP

+Demonstration