Why PHP doesn't
suck anymore
Presented by
Grant Lovell (@grant_lovell)
Guelph PHP
June 25, 2014
About me
@grant_lovell
- Co-founder and Dev team lead at Vehikl
- Coding in PHP since 2000
- Organizer of Laravel KW
- PHP community advocate
- Father of 4
How DiD WE Get here?
The real Browser Wars
VS.
Humble Waterloo Beginnings
Personal Home Page
PHP: Hypertext Preprocessor
Personal Home Page
Web Domination
Where did we go wrong?
Haters Gonna Hate
"If you want to produce free-as-in-whatever code that runs on virtually every server in the world with zero friction or configuration hassles, PHP is damn near your only option."
- Jeff Atwood, Coding Horror
Bad information
Slow to change
The rise of the MACHINES frameworks
Strong Competitors
PHP FRAMEWORKS EVERYWHERE
the PHP renaissance
PHP 5.3
- Support for namespaces
- Late static binding
- Lambda Functions and Closures
- Syntax additions: NOWDOC, ternary short cut "?:" and jump label (limited goto), __callStatic()
- Under the hood performance improvements
- Deprecation notices are now handled via
E_DEPRECATED
(part ofE_ALL
) instead of theE_STRICT
error level - Over 140 bug fixes and improvements to PHP, in particular to: ext/openssl, ext/spl and ext/date
PHP 5.4
- New language syntax including Traits, shortened array syntax and more
- Improved performance and reduced memory consumption
- Support for multibyte languages now available in all builds of PHP at the flip of a runtime switch
- Built-in webserver in CLI mode to simplify development workflows and testing
- Cleaner code base thanks to the removal of multiple deprecated language features
- Many more improvements and fixes
PHP 5.5
- Added generators and coroutines.
- Added the finally keyword.
- Added a simplified password hashing API.
- Added support for constant array/string dereferencing.
- Added scalar class name resolution via ::class.
- Added support for using empty() on the result of function calls and other expressions.
- Added support for non-scalar Iterator keys in foreach.
- Added support for list() constructs in foreach statements.
- Added the Zend OPcache extension for opcode caching.
- A lot more improvements and fixes.
PHP-FIG
(Framework Interoperability Group)
TEK'09 Formation
Agavi - David Zülke
Cake - Nate Abele
PEAR - Brett Bieber, David Coallier, Helgi Þormar Þorbjörnsson
Phing - Travis Swicegood
Solar - Paul Jones
Symfony - Stefan Koopmanschap
Zend Framework - Matthew Weier O'Phinney
Community at-large - Cal Evans
Cake - Nate Abele
PEAR - Brett Bieber, David Coallier, Helgi Þormar Þorbjörnsson
Phing - Travis Swicegood
Solar - Paul Jones
Symfony - Stefan Koopmanschap
Zend Framework - Matthew Weier O'Phinney
Community at-large - Cal Evans
PHP Specification Request
Composer
getcomposer.org
The future
LARAVEL
Learning
- PHP The right way.
phptherightway.com
- tuts+
tutsplus.com
- Laracasts
laracasts.com
Community
Thank you
Grant Lovell
@grant_lovell
g.lovell@vehikl.com
Copy of Why PHP doesn't suck anymore - GPUG
By Grant Lovell
Copy of Why PHP doesn't suck anymore - GPUG
- 2,757