+ Agile Tools for PHP Philip Ting
May 10, 2015
+
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