Last Month in PHP
November 2016
Kansas City PHP User Group
PHP Patch Releases
PHP 7.0.13 - Update!
● Security fixes
● php.net/ChangeLog-7.php#7.0.13
PHP 5.6.28 - Update!
● Security fixes
● php.net/ChangeLog-5.php#5.6.28
PHP 7.1 RC6
● The last release-candidate
● PHP 7.1 will drop 1 December
● PHP 7.1 would make a great
talk! (hint hint)
Upcoming Features in PHP RFC
Security Classification
● Target: All versions that still have security support
● tl;dr: Security is to be taken more seriously, classifications (high, & medium,
low severity) have set criteria and mitigation procedures
● See: wiki.php.net/rfc/security-classification
Upcoming Features via PHP RFC
Debugging PDO Prepared Statement
Emulation
● Target: PHP 7.2
● tl;dr: Adds a new debugging statement to
PDO:
PDOStatement::activeQueryString()
● See:
wiki.php.net/rfc/debugging_pdo_prepared_
statement_emulation
● Replacement is in discussion:
wiki.php.net/rfc/debugging_pdo_prepared_
statement_emulation_v2
$db = new PDO(...);
// works with statements without bound values
$stmt = $db->query('SELECT 1');
var_dump($stmt->activeQueryString()); // =>
string(8) "SELECT 1"
$stmt = $db->prepare('SELECT :string');
$stmt->bindValue(':string', 'foo');
// returns unparsed query before execution
var_dump($stmt->activeQueryString()); // =>
string(14) "SELECT :string"
// returns parsed query after execution
$stmt->execute();
var_dump($stmt->activeQueryString()); // =>
string(11) "SELECT 'foo'"
Upcoming Features via PHP RFC
Convert numeric keys in object/array casts
● Target: PHP 7.2
● tl;dr: Casting an object to an array, numeric keys would be ints; casting an
array to object, numeric properties would be strings.
● wiki.php.net/rfc/convert_numeric_keys_in_object_array_casts
Upcoming Features via PHP RFC
Deprecate png2wbmp() and jpeg2wbmp()
● Target: PHP 7.2
● tl;dr: ‘Who uses “Wireless Application Protocol Bitmap Format”? Let’s kill it.’
Gone in PHP8. Unanimous decision.
● wiki.php.net/rfc/deprecate-png-jpeg-2wbmp
PHP-Framework Interoperability Group
PSR-13: Link definition interfaces
● Read-Only
○ LinkInterface
○ LinkProviderInterface
● Returns New Object
○ EvolvableLinkInterface
○ EvolvableLinkProviderInterface
● See:
○ php-fig.org/psr/psr-13
○ php-fig.org/psr/psr-13/meta
○ evertpot.com/whats-in-a-link
CMSes: Drupal
Drupal 7.52, 8.2.[2,3]
● Security Release - Update!
○ SA-CORE-2016-005
○ drupal.org/SA-CORE-2016-005
CMSes: WordPress
WordPress 4.6.1 - “Pepper”
● No news
Frameworks - CakePHP
CakePHP 3.3.[8.9] & 2.9.[2.3]
● 3.3.x - bugfixes
○ bakery.cakephp.org/2016/11/06/cakephp_338_released.html
○ bakery.cakephp.org/2016/11/21/cakephp_339_released.html
● 2.9.1 - Feature release
○ bakery.cakephp.org/2016/11/07/cakephp_292_released.html
○ bakery.cakephp.org/2016/11/27/cakephp_293_released.html
Frameworks - Laravel
Laravel 5.3.[22, 23, 24, 25, 26]
● Laravel 5.3
○ See: github.com/laravel/framework/blob/5.3/CHANGELOG-5.3.md
Frameworks - Symfony
Symfony 3.2 Released
○ File controller helper
○ PHP constants in YAML files
○ Compiler passes improvements
○ DateInterval form type
○ Tagged Cache
○ Routing Improvements
○ Console Improvements
○ Better readability for YAML numeric literals
○ Lazy loading of form choices
○ User value resolver for controllers
○ HttpFoundation improvements
○ Workflow component
● Continued …
○ Added support for XPath expressions
○ Unicode routing support
○ Improved private services
○ Minor YAML deprecations
○ Filesystem improvements
○ Runtime Environment Variables
○ Web Debug Toolbar and Profiler
Improvements
○ CSV and YAML encoders for Serializer
○ Cache improvements
○ Firewall config class and profiler
○ DX Improvements
○ symfony.com/blog/symfony-3-2-0-released
Frameworks - Symfony
Symfony 3.1.7, 2.8.14, 2.7.21
● symfony.com/blog/symfony-3-1-7-released
● symfony.com/blog/symfony-2-8-14-released
● symfony.com/blog/symfony-2-7-21-released
Frameworks - Zend
ZF 2
● No updates since September
PHP: The Right Way
● Building Your Application
○ Wording improvements
● Windows Setup
○ Changed link to Chris Tankersley’s
“Developing on Windows” blog post
■ Docker
■ Windows 10 Pro Anniversary
Edition
■ etc
● Books
○ Added Domain-Driven Design in PHP
● Jekyll install improvements
● Virtual or Dedicated Servers
○ Updated information for running Apache
and php-fpm
● Note: Every open-source project can use
your help with documentation. What are
you waiting for?
PHP Conferences
SunshinePHP 2017
● Feb 2-4 - Miami, FL
● KCPUG Speaker!
● 2017.sunshinephp.com
PHP UK 2017
● Feb 16-17 - London, UK
● phpconference.co.uk
Confoo.CA 2017
● Mar 8-10 - Montreal, CAN
● confoo.ca/en/yul2017
Midwest PHP 2017
● March 17-18 - Minneapolis, MN
● 2017.midwestphp.org
PHP Conferences - Continued
Lonestar PHP 2017
● Apr 20-22 - Dallas, TX
● Call for Papers ends 2017-01-15
○ cfp.lonestarphp.com
● Lonestarphp.com
PHP[TEK] 2017
● May 24-26 - Atlanta, GA
● Call for Speakers ends 2016-12-30
○ tek.phparch.com/call-for-speakers
CoderCruise 2017
● July 16-23 - New Orleans, LA
● Call for Speakers ends 2017-01-06
○ codercruise.com/call-for-speakers
● codercruise.com
Nomad PHP (Online) - December 15
Nomad PHP EU - 01:00 PM CST
Building for the PHP Command Line
Interface
● Steve Grunwell (@stevegrunwell)
● nomadphp.com/nomadphp-2016-12-eu
Nomad PHP US - 08:00 PM CST
Robust Second-factor Authentication with
PHP
● Tim Lytle (@tjlytle)
● nomadphp.com/nomadphp-2016-11-us
Next Month in KCPHPUG
● Calling all speakers!
● Open Source Hack Night?

Last Month in PHP - November 2016

  • 1.
    Last Month inPHP November 2016 Kansas City PHP User Group
  • 2.
    PHP Patch Releases PHP7.0.13 - Update! ● Security fixes ● php.net/ChangeLog-7.php#7.0.13 PHP 5.6.28 - Update! ● Security fixes ● php.net/ChangeLog-5.php#5.6.28 PHP 7.1 RC6 ● The last release-candidate ● PHP 7.1 will drop 1 December ● PHP 7.1 would make a great talk! (hint hint)
  • 3.
    Upcoming Features inPHP RFC Security Classification ● Target: All versions that still have security support ● tl;dr: Security is to be taken more seriously, classifications (high, & medium, low severity) have set criteria and mitigation procedures ● See: wiki.php.net/rfc/security-classification
  • 4.
    Upcoming Features viaPHP RFC Debugging PDO Prepared Statement Emulation ● Target: PHP 7.2 ● tl;dr: Adds a new debugging statement to PDO: PDOStatement::activeQueryString() ● See: wiki.php.net/rfc/debugging_pdo_prepared_ statement_emulation ● Replacement is in discussion: wiki.php.net/rfc/debugging_pdo_prepared_ statement_emulation_v2 $db = new PDO(...); // works with statements without bound values $stmt = $db->query('SELECT 1'); var_dump($stmt->activeQueryString()); // => string(8) "SELECT 1" $stmt = $db->prepare('SELECT :string'); $stmt->bindValue(':string', 'foo'); // returns unparsed query before execution var_dump($stmt->activeQueryString()); // => string(14) "SELECT :string" // returns parsed query after execution $stmt->execute(); var_dump($stmt->activeQueryString()); // => string(11) "SELECT 'foo'"
  • 5.
    Upcoming Features viaPHP RFC Convert numeric keys in object/array casts ● Target: PHP 7.2 ● tl;dr: Casting an object to an array, numeric keys would be ints; casting an array to object, numeric properties would be strings. ● wiki.php.net/rfc/convert_numeric_keys_in_object_array_casts
  • 6.
    Upcoming Features viaPHP RFC Deprecate png2wbmp() and jpeg2wbmp() ● Target: PHP 7.2 ● tl;dr: ‘Who uses “Wireless Application Protocol Bitmap Format”? Let’s kill it.’ Gone in PHP8. Unanimous decision. ● wiki.php.net/rfc/deprecate-png-jpeg-2wbmp
  • 7.
    PHP-Framework Interoperability Group PSR-13:Link definition interfaces ● Read-Only ○ LinkInterface ○ LinkProviderInterface ● Returns New Object ○ EvolvableLinkInterface ○ EvolvableLinkProviderInterface ● See: ○ php-fig.org/psr/psr-13 ○ php-fig.org/psr/psr-13/meta ○ evertpot.com/whats-in-a-link
  • 8.
    CMSes: Drupal Drupal 7.52,8.2.[2,3] ● Security Release - Update! ○ SA-CORE-2016-005 ○ drupal.org/SA-CORE-2016-005
  • 9.
    CMSes: WordPress WordPress 4.6.1- “Pepper” ● No news
  • 10.
    Frameworks - CakePHP CakePHP3.3.[8.9] & 2.9.[2.3] ● 3.3.x - bugfixes ○ bakery.cakephp.org/2016/11/06/cakephp_338_released.html ○ bakery.cakephp.org/2016/11/21/cakephp_339_released.html ● 2.9.1 - Feature release ○ bakery.cakephp.org/2016/11/07/cakephp_292_released.html ○ bakery.cakephp.org/2016/11/27/cakephp_293_released.html
  • 11.
    Frameworks - Laravel Laravel5.3.[22, 23, 24, 25, 26] ● Laravel 5.3 ○ See: github.com/laravel/framework/blob/5.3/CHANGELOG-5.3.md
  • 12.
    Frameworks - Symfony Symfony3.2 Released ○ File controller helper ○ PHP constants in YAML files ○ Compiler passes improvements ○ DateInterval form type ○ Tagged Cache ○ Routing Improvements ○ Console Improvements ○ Better readability for YAML numeric literals ○ Lazy loading of form choices ○ User value resolver for controllers ○ HttpFoundation improvements ○ Workflow component ● Continued … ○ Added support for XPath expressions ○ Unicode routing support ○ Improved private services ○ Minor YAML deprecations ○ Filesystem improvements ○ Runtime Environment Variables ○ Web Debug Toolbar and Profiler Improvements ○ CSV and YAML encoders for Serializer ○ Cache improvements ○ Firewall config class and profiler ○ DX Improvements ○ symfony.com/blog/symfony-3-2-0-released
  • 13.
    Frameworks - Symfony Symfony3.1.7, 2.8.14, 2.7.21 ● symfony.com/blog/symfony-3-1-7-released ● symfony.com/blog/symfony-2-8-14-released ● symfony.com/blog/symfony-2-7-21-released
  • 14.
    Frameworks - Zend ZF2 ● No updates since September
  • 15.
    PHP: The RightWay ● Building Your Application ○ Wording improvements ● Windows Setup ○ Changed link to Chris Tankersley’s “Developing on Windows” blog post ■ Docker ■ Windows 10 Pro Anniversary Edition ■ etc ● Books ○ Added Domain-Driven Design in PHP ● Jekyll install improvements ● Virtual or Dedicated Servers ○ Updated information for running Apache and php-fpm ● Note: Every open-source project can use your help with documentation. What are you waiting for?
  • 16.
    PHP Conferences SunshinePHP 2017 ●Feb 2-4 - Miami, FL ● KCPUG Speaker! ● 2017.sunshinephp.com PHP UK 2017 ● Feb 16-17 - London, UK ● phpconference.co.uk Confoo.CA 2017 ● Mar 8-10 - Montreal, CAN ● confoo.ca/en/yul2017 Midwest PHP 2017 ● March 17-18 - Minneapolis, MN ● 2017.midwestphp.org
  • 17.
    PHP Conferences -Continued Lonestar PHP 2017 ● Apr 20-22 - Dallas, TX ● Call for Papers ends 2017-01-15 ○ cfp.lonestarphp.com ● Lonestarphp.com PHP[TEK] 2017 ● May 24-26 - Atlanta, GA ● Call for Speakers ends 2016-12-30 ○ tek.phparch.com/call-for-speakers CoderCruise 2017 ● July 16-23 - New Orleans, LA ● Call for Speakers ends 2017-01-06 ○ codercruise.com/call-for-speakers ● codercruise.com
  • 18.
    Nomad PHP (Online)- December 15 Nomad PHP EU - 01:00 PM CST Building for the PHP Command Line Interface ● Steve Grunwell (@stevegrunwell) ● nomadphp.com/nomadphp-2016-12-eu Nomad PHP US - 08:00 PM CST Robust Second-factor Authentication with PHP ● Tim Lytle (@tjlytle) ● nomadphp.com/nomadphp-2016-11-us
  • 19.
    Next Month inKCPHPUG ● Calling all speakers! ● Open Source Hack Night?