agile tools for php
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