autoscale: true build-lists: true theme: Sketchnote, 2
[fit] The Latest in PHP
[fit] April 2018 Edition
Presented by
Chris Gmyr
@cmgmyr
PHP Releases
VERSIONS
- 5.6.35, 7.0.29, 7.1.16, 7.2.4
- All bug fixes
http://php.net/ChangeLog-7.php
http://php.net/ChangeLog-5.php
PHP RFCs
- Accepted
- Arrays starting with a negative index (8.0)
- Implemented
- is_countable (7.3)
https://wiki.php.net/rfc
Negative indexed arrays (current)
$a = array_fill(-2, 3, true);
array(3) {
[-2]=>
bool(true)
[0]=>
bool(true)
[1]=>
bool(true)
}
Negative indexed arrays (new)
$a = array_fill(-2, 3, true);
array(3) {
[-2]=>
bool(true)
[-1]=>
bool(true)
[0]=>
bool(true)
}
Is Countable
// before
if (is_array($foo) || $foo instanceof Countable) {
return count($foo);
}
// after
if (is_countable($foo)) {
return count($foo);
}
PHPUnit
Latest: 7.1.2, 6.5.8
PHPUnit 5 has reached its End of Life on February 2, 2018 and no longer receives bug fixes
`https://github.com/sebastianbergmann/phpunit/wiki`
Framework: Laravel
5.6.[13-16]
- Better support for signed routes
- Added callback support to
optional()
helper - Added
@elseauth
and@elseguest
Blade directives - Added
view:cache
command - Replaced Blade's
or
operator with null-coalescing operator - Added
SessionGuard::logoutOtherDevices()
method - Security: Check
iv
length inEncrypter::validPayload()
(5.5.40 also)
https://github.com/laravel/framework/releases
Framework: Symfony
2.7.x, 2.8.x, 3.4.x, 4.0.x
- Bug Fixes
https://symfony.com/blog/category/releases
CMS: Drupal
7.58, 8.3.9, 8.4.6, 8.5.1
highly critical security vulnerabilities
A remote code execution vulnerability exists within multiple subsystems of Drupal 7.x and 8.x. This potentially allows attackers to exploit multiple attack vectors on a Drupal site, which could result in the site being completely compromised.
https://www.drupal.org/psa-2018-001
https://www.drupal.org/project/drupal/releases
CMS: Wordpress
4.9.5
- Don't treat localhost as same host by default.
- Use safe redirects when redirecting the login page if SSL is forced.
- Make sure the version string is correctly escaped for use in generator tags.
- Improved compatibility with PHP 7.2.
https://wordpress.org/news/2018/04/wordpress-4-9-5-security-and-maintenance-release/
IDE: PHPStorm
2018.1[.1]
- Refactor your code to functional style
- Creating class from test
- Codeception: code coverage
- Updated HTTP Client
https://blog.jetbrains.com/phpstorm/
IDE: VSCode
1.22
- Syntax aware code folding
- Convert to ES6 refactoring
- Better large file support
- Organize JS/TS imports
- Emmet performance and smart matching improvements
https://code.visualstudio.com/updates/v1_22
PHP Conferences - April
DrupalCon Nashville
April 9–13, Nashville, TN
https://events.drupal.org/nashville2018
Longhorn PHP Conference
April 19–21, Austin, TX
https://www.longhornphp.com
PHP Conferences - May
PHP Serbia Conference
May 25–27, Belgrade, Serbia
https://conf2018.phpsrbija.rs/
php[tek]
May 29–June 1, Atlanta, GA
https://tek.phparch.com/
Nomad PHP
April 19
US How to Use Generators to Beat Memory Bloat By Korvin Szanto
Europe Mining Your Code for Efficient Documentation By Damien Seguy
https://nomadphp.com/
Open Call for Papers
All Things Open
Oct 23-24, Raleigh, NC
CFP Ends: April 24
https://allthingsopen.org/call-for-papers/
Texas Camp
May 31–June 2, Austin, TX
CFP Ends: April 19
https://2018.texascamp.org/submit-session
Upcoming regional events
April 28-29 - WordCamp Raleigh
https://2018.raleigh.wordcamp.org
Aug 16-17 - Southeast PHP (Nashville, TN)
https://southeastphp.com
Oct 7-8 - NCDevCon
http://ncdevcon.com
Oct 23-24 - All Things Open
http://allthingsopen.org
Notable News & Articles
- A Concrete Guide to Dependency Injection
- PHPStorm tips for power users
- Getting Started with Signed Routes in Laravel
- Try PSR-12 on Your Code Today
- Testing web API clients using Guzzle Mock Handler
- Going Deeper with Factories Through Factory States
Next Month @ TrianglePHP
TDB Presented By YOU?!?!
Thursday, May 17 6pm Atlantic BT
https://www.meetup.com/trianglephp/events/zgpswmyxhbwb/
Consider "Chipping In" https://secure.meetup.com/trianglephp/contribute/
Have a Job/Need a Job
Who's hiring? Who's looking? What are you looking for?