Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Stefan Koopmanschap:
On submitting to CFPs
Jun 24, 2016 @ 13:18:15

If you've considered submitting to a Call for Papers to speak at a technical conference but aren't sure exactly what the process is like, Stefan Koopmanschap has shared some of his experience in a new post to his site.

Having been a conference organizer as well as a speaker, I've seen both sides of the CFP process. Because of that, I've made some decisions as a speaker on how I handle CFPs. Since I've discussed this with several people in the past year but it keeps coming up, I've decided to document one of my decisions here.

He talks about a "first world problem" of not knowing if you're accepted to one conference before applying to the CfP for another at the same time. He also looks at the usual Call for Papers process from the perspective of an organizer and how to sift through the (usually) hundreds of submissions that come in. He also shares his own personal rule for submitting to a conference: only submit if you're absolutely sure you can attend.

tagged: submit callforpapers cfp organizer rule conference

Link: http://leftontheweb.com/blog/2016/06/24/On-Submitting-To-CFPs/

PHP.net:
PHP 7.0.8, 5.6.23 & 5.5.37 Released
Jun 24, 2016 @ 12:15:55

The PHP development group has released the latest updates to all currently supported versions of PHP including several security fixes discovered. These latest versions are:

The PHP development team announces the immediate availability of PHP [5.5.37, 5.6.23 and 7.0.8]. This is a security release, several security bugs were fixed. All PHP [...] users are encouraged to upgrade to this version.

As always, you can get the latest source release as linked to from the main downloads page and the Windows binaries from the windows.php.net site. The full list of files can be found in the version's related Changelog.

tagged: language release bugfix security php55 php56 php7

Link: http://php.net/archive/2016.php#id2016-06-23-3

Laravel News:
Easily Test Email with MailThief
Jun 24, 2016 @ 11:50:56

The Laravel News site has a post that gives you a quick introduction to MailThief, a library created by the developers at Tighten Co. to make mail testing simpler.

MailThief is a new package by Tighten Co. that provides a fake mailer for your Laravel application. This makes it easy to test email without actually sending any.

They include a simple example of a script that sends an email on user registration using Laravel's own Mail library. They also include a test for the registration action showing how MailThief can be used to "hijack" the mailer and make it simpler to get information about the mail being sent. You can find out more about the tool and what prompted it in this video from Adam Wathan.

tagged: mailthief testing unittest mailer email example introduction

Link: https://laravel-news.com/2016/06/mailthief/

Voices of the ElePHPant:
Interview with Chris Russell
Jun 24, 2016 @ 10:40:05

The Voices of the ElePHPant podcast has posted their latest interview with a member of the PHP community. This latest episode, recorded live at Sunshine PHP 2016, has host Cal Evans talking with Chris Russell, a speaker at the conference.

Cal and Chris talk about Chris' talk at the conference covering design patterns - an overview of popular patterns and examples of them in use. They talk about how they're a "language" for "developers to talk to each other" and allow them to agree on one approach. Chris also shares how he "made the leap" from speaking at the local user group to presenting at the conference. They also talk about something outside of development Chris enjoys: backpacking.

You can listen to this latest episode either through the in-page audio player or by downloading the mp3 directly for listening at your leisure. If you enjoy the show be sure to subscribe to their feed and follow them on Twitter for the latest updates when new shows are released.

tagged: voicesoftheelephpant community interview chrisrussell podcast

Link: https://voicesoftheelephpant.com/2016/06/24/interview-chris-russell/

Richard Bagshaw:
Prophecy
Jun 24, 2016 @ 09:11:01

Richard Bagshaw has a post to his site sharing some of his experience with the Prophecy testing tool and how it compares to Mockery for creating test doubles (mocks and stubs).

For a while now I have been using Mockery as my test double framework of choice, however recently I have been taking a look at Prophecy as an alternative.

[...] "Prophecy is a highly opinionated yet very powerful and flexible PHP object mocking framework. Though initially it was created to fulfil phpspec2 needs, it is flexible enough to be used inside any testing framework out there with minimal effort."

He then gets into some basic usage of the tool - creating a basic mock, assigning expectations and behaviors and performing the test. He steps through each line of the example explaining what's happening and what can be expected as a result. He ends the post with some final thoughts comparing Prophecy to the normal PHPUnit mocking tools and points out several other features it makes easier to work with as well.

tagged: prophecy unittest doubles mock stub example introduction tutorial

Link: http://www.richardbagshaw.co.uk/prophecy/


SitePoint PHP Blog:
Using Halite for Privacy and Two-Way Encryption of Emails
Jun 23, 2016 @ 11:18:17

On the SitePoint PHP blog there's a new tutorial posted showing you how to use the Halite package to encrypt the contents of emails. The Halite library sits on top of the libsodium functionality to provide tested, hardened cryptographic results.

Cryptography is a complex matter. In fact, there is one golden rule: "Don’t implement cryptography yourself." The reason for this is that so many things can go wrong while implementing it, the slightest error can generate a vulnerability and if you look away, your precious data can be read by someone else.

[...] Some libraries out there implement cryptography primitives and operations, and leave a lot of decisions to the developer. [...] Nevertheless, there is one library that stands out from the rest for its simplicity and takes a lot of responsibility from the developer on the best practices, in addition to using the libsodium library. In this article we are going to explore Halite.

The tutorial then starts of helping you get the libsodium package installed on your system (assuming it's unix-based). They then start on the sample application - a basic "email" client able to send/receive messages between users. They set up RESTful endpoints to get the messages, use the Doctrine ORM for a database interface and show the use of the Halite Crypto class to encrypt/decrypt the message contents.

tagged: halite privacy twoway encryption email message tutorial libsodium

Link: https://www.sitepoint.com/using-halite-for-privacy-and-two-way-encryption-of-emails/

Three Devs & A Maybe:
Episode 103 - Caching up with Joe Watkins
Jun 23, 2016 @ 10:55:21

On the Three Devs and a Maybe podcast they've posted a new show where they're joined by Joe Watkins, a core developer on the PHP development team.

In this weeks episode we are lucky to be joined by Joe Watkins. We start off discussion around the development of PHP 7.1 and the recent initial alpha release. Following this, we give an update on a couple of previously mentioned RFC’s, along with how Joe’s ones are doing. This leads us on to highlight how some small proposed changes are paving the way to optimal machine-code and finally integration of a JIT compiler. Some of these proposed changes may result in backwards compatibility breaks, we discuss this topic and when it is deemed acceptable to permit this. Finally, we chat about memorisation, caching and how it is not really feasible to distill a standard caching interface that fits all requirements.

You can listen to this latest episode either using the in-page audio player or by downloading the mp3 of the show. If you enjoy it, be sure to also subscribe to their feed and get updates on the latest episodes as they're released.

tagged: threedevsandamaybe ep10 podcast joewatkins core developer

Link: http://threedevsandamaybe.com/caching-up-with-joe-watkins/

Symfony Finland:
Cache enhancements in Symfony 3.1 and 3.2: PSR-6 and tag invalidation
Jun 23, 2016 @ 09:17:04

On the Symfony Finland site there's a post talking about caching enhancements in Symfony 3.1 & 3.2 using the PSR-6 structure as defined by the PHP-FIG standard.

Symfony 3.1 was the first version of the new Symfony3 family to offer new features. The first 3.0 release had feature parity with the last of the Symfony2 series. Symfony 3.1 was launched in May 2016, with a moderate list of added individual features, but one that was a big step in terms of caching: [an] implementation of the cache PSR (PSR-6). The new component is also automatically wired in FrameworkBundle and Symfony Standard Edition."

He talks about how following the PSR-6 standard allows for caching tools to only need to worry about the underlying implementation, not the interface. The post also talks about a new feature coming in Symfony 3.2 around caching: cache tagging. This allows you to "link" cache entries together using tags as related items. One potential use of this is invalidating cache records linked to a specific resource or page in the application without having to check each entry.

tagged: symfony cache invalidation tagging psr6 phpfig

Link: https://www.symfony.fi/entry/cache-enhancements-in-symfony-3-1-and-3-2-psr-6-and-tag-invalidation