Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

May 4, 2017

Welcome to this weeks @phpweekly news.

This week, do conference organisers choose well known speakers, for their reliability and safety factor, over other "newer" presenters? Discuss.

Also, with Symfony 4 due for release later in the year, we look at the latest article from Fabien Potencier about the main changes he hopes to implement, this week Contributing Recipes.

The May edition of php[architect] Magazine is out now, looking at how PHP stays ahead of the game by constantly evolving to stay relevant.

Plus the North Meets South West podcast team is joined by Paul Redmond and TJ Miller for an HTTP client discussion. 

And finally, the International PHP Conference takes place at the end of this month. Early Bird ticket pricing ends today so be quick!

Hope you enjoy this weeks edition.

Katie and Ade

Please help us by clicking to our sponsor:

encrypt php scriptsProtect your PHP Code

Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.


Can 9-to-5 Developers Be Good Developers?
While picking talks for the conference he’s organising, James Titcumb recently tweeted that well known speakers get picked over others because, among other things, they’re reliable (i.e. they don’t cancel). I would argue that “among other things” carries more weight – I believe that most conference organisers pick such talks and speakers because they like to play it safe and fear risks.

Open Source Taught Me How To Work With Legacy Code
Contributing to open source projects has many benefits - you learn and you teach, you can make friends or find business partners, you might get a chance to travel. Contributing to open source projects was the best decision I made in my professional career. What I realised just recently is that open source also taught me how to work with legacy code.

11 Free Website Speed Test Tools for WordPress Users
Today we want to share with you some free website speed test tools. We’re not here to talk about how to make your website faster, we are here to share with you some tools so that you can tangibly measure your sites speed and track any improvements. What’s the optimal load time that you should be aiming for with these tools? Well, the faster the better, but most experts suggest that around two seconds is a good target.

Tutorials and Talks

Persisting Polymorphism
Recently I worked on a project where a user’s choice needed to permanently modify the behaviour of an object. The gist of the project is that a user is creating a job posting and at some point they will choose how they wish to publish the job: using a job credit, as a daily rate, on a recruiting plan, etc. The choice of publishable type alters the behaviour of the job every time the user decides to change its status (from draft to open, draft to scheduled, open to closed). 

PHPUnit Tip - Access Private Properties of an Object via Closure
In this tutorial, we share a tip on how we can access a private property of an object without using getter/setter methods.

Testing the Untestable
A long time ago I wrote a blog post about Testing file uploads with PHP where I have used a CGI PHP binary and the PHP Testing Framework (short PHPT), which is still used to test PHP itself and PHP extensions. Since the whole topic appears to be still up-to-date, I would like to show a different approach on how to test a fileupload in PHP in this post. 

Using Guzzle 6 Middleware in a Laravel Application
The most significant change between Guzzle 5 and 6 is moving away from the event system I grew so accustomed to in Version 5 to middleware in version 6. Needless to say, it was a big adjustment for me at first and it felt like a downgrade. After my initial grumbling, the upgrade guide explains the reasoning for the change.

How To Create a Drupal Entity Programmatically in Drupal 8
Entities have been introduced late in Drupal 7. Drupal entity is an instance of a particular instance type. For example, the entity type for taxonomy terms is named taxonomy_term and the class name Term. We include the class like  Drupal\taxonomy\Entity\Term. Here taxonomy is a core module name, and Term is the class name of Entity.

Building Your Startup: Leveraging Bootstrap, Ajax, and jQuery
Through our startup series, Meeting Planner and Simple Planner have evolved an incredibly long way. Recently, I've been trying to tune into detailed areas to make using the service to schedule meetings an even higher degree of easy.

Easy Roles and Permissions in Laravel 5.4
Laravel comes with Authentication and Authorisation out of the box. I have implemented many role and permissions based systems in the past, using Laravel, and it’s a piece of cake. In this post, we are going to implement fully working and extensible roles and permissions on Laravel 5.4. When we finish we will have a starter kit which we can use for any future project which needs roles and permissions based access control (ACL).

Mocking Callables in An Expressive App
While working with Zend Expressive, a PSR-7 middleware microframework, I wanted to apply some unit testing with a nice coverage to my middlewares. Middlewares are called by the __invoke method if you provide them as an object and not as a closure. 

Upgrading Sylius the TDD Way: Exploring PhpSpec
The post on developing and testing new Sylius features was an introduction to the three types of tests that are used in Sylius – PHPUnit, Phpspec and Behat. In this part, we’ll extend some core classes to indicate color-coded inventory status. First, we’ll deal with the back end part. In a followup post, we’ll use Behat and test the visual changes. Please follow the instructions in the previous post to get a working instance up and running.

Symfony 4: Contributing Recipes
Symfony Flex is not Open-Sourced yet, but I can already feel the excitement in the community. I have also received some feedback via Twitter, Slack, and email during the last few days. That makes me really happy! Everybody knows that I like to tease. Trying to build the momentum on something you have been working on for months feels great. But the reality is a bit more complex: I am still working on the first MVP of the infrastructure needed to support Symfony Flex. To be honest, I'm probably working on something that is a bit more than just an MVP.

Manage Permissions With zend-permissions-rbac
In our previous post, we covered authentication of a user via Expressive middleware. In that post, we indicated that we would later discuss authorisation, which is the activity of checking if an authenticated user has permissions to perform a specific action, from within the context of a middleware application. Before we do that, however, we thought we'd introduce zend-permissions-rbac, our lightweight role-based access control (RBAC) implementation.

Chrome ERR_BLOCKED_BY_XSS_AUDITOR PHP Solution to Avoid Bogus Cross-Site Scripting Detection - Secure HTML Parser and Filter Package Blog
Since version 57, Chrome started blocking the submission of forms with content created by regular HTML editor inputs. The problem is that this is preventing many sites that use regular HTML content editors to work in some cases, despite the fact there is no real XSS exploit going on. Read this article to learn more about why this happens and what workarounds you can implement while Chrome blocks the requests.

Laravel 5.5 Gets Improvements with the Default Error Views
Coming in Laravel 5.5 is a new and improved design for the error pages. The default errors will extend from an errors::layout file and get some small design additions over the current style with flexbox and a vertically centered message.

Building With the Twitter API: Analyzing Your Followers
Welcome to the latest episode of our Twitter API series. In our last episode, I built which will let you discover influential women on Twitter for your account to follow. Today, I'm going to turn the focus inward to look at my own followers.

How to Setup HTTPS Locally Without Getting Annoying Browser Privacy Errors
Setting up HTTPS locally can be tricky business. Even if you do manage to wrestle self-signed certificates into submission, you still end up with browser privacy errors. In this article, I’ll walk you through setting up self-signed certificates and show you a nice little trick to quiet browser privacy errors.
News and Announcements

International PHP Conference - May 29th-June 2nd 2017, Berlin
The International PHP Conference is the world’s first PHP conference and has been going for more than a decade, for top-notch pragmatic expertise in PHP and web technologies. Internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Early Bird ticket sales end today.

Day Camp 4 Developers - 9am CDT June 2nd 2017 
Save The Date! Nope, we aren’t going to tell you the topic yet. Nope, we aren’t going to give you the list of speakers yet. All we are giving you right now is the date. Mark it on your calendar today. Get ready to learn. Day Camp 4 Developers. Invest a day in your career. Tickets are on sale now.

Dutch PHP Conference  - 29-30th June-1st July 2017, Amsterdam
Ibuildings is proud to organise the eleventh Dutch PHP Conference on June 30th and July 1st, plus a pre-conference tutorial day on June 29th. Both programs will be completely in English so the only Dutch thing about it is the location. Keywords for these days: Know-how, Technology, Best Practices, Networking, Tips & Tricks. Tickets are on sale now.

ZendCon - October 23rd-26th 2017, Las Vegas
Now in its 13th year, ZendCon is the "must attend" event and the largest gathering of the PHP and open source communities. ZendCon brings together industry thought leaders, recognised PHP experts, enterprise decision makers, IT managers, dev and ops teams, and independent developers for four days of professional and business development. ZendCon connects the vast open source ecosystem and provides unique opportunities to engage with prominent speakers, community leaders, and vendors. You'll learn about the latest innovations and network with peers to get educated, advance your coding practices, and solve business challenges. Blind Bird tickets are on sale now.


Laravel IO Podcast - Episode 53: Bigger and Better
In this episode, the crew talks about enterprise applications, scalability and productivity.

The Changelog Podcast #249: Open Source at Microsoft, Inclusion, Diversity, and OSCON
Scott Hanselman joined todays show produced in partnership with our friends at OSCON. Scott is a Program Chair of OSCON, host of the podcast Hanselminutes, and advocate for open source inside of Microsoft and the Azure Cloud team. We talked about the oldest software he's written that's still in production, the shift inside Microsoft to open source and why, as well as ways to make inclusion and diversity a priority in your communities. 

Full Stack Radio Podcast Episode 63: MicroConf, Dog Food, and Image Previews
In this episode, Adam and David recap their MicroConf 2017 experiences, give some product updates, and chat about various other topics.

PHP Roundtable Podcast Episode 62: All Things Laravel
We chat all things about the Laravel ecosystem.

LaraChat Live - Episode #25
Today we chat with Peter Meth and Mike Classic, the organisers of The PHP Unicorn Conference is an online conference dedicated to the programming language PHP. You’ll see talks from some of the worlds more recognisable PHP experts; speaking talent so rare, we call them Unicorns.

PHP Ugly Podcast #58: Lock Down
Topics this week include Rubber Duck debugging and

North Meets South Web Podcast Episode 27 - HTTP Clients, Container Tagging, and Foreign Keys with Paul Redmond and TJ Miller
In this episode, Jake and Michael welcome Paul Redmond and the returning TJ Miller to have the HTTP client discussion you were promised last time. We also dig into container tagging in Laravel, as well as working with foreign keys in your projects.

Voices of the ElePHPant - Interview with Eric Poe and John Kary
This week Cal Evans talked to the organisers of Kansas City's PHP UG - Eric Poe and John Kary.

Reading and Viewing

MageTalk LIVE @ Imagine 2017 – Part 1: “3 Degrees of Magento” (feat Ben Marks, MageStackDay)
Part 1 of our LIVE recording sessions at Imagine 2017 with friends and family from the #realmagento community! Watch the video here.

php[architect] Magazine May 2017 - Uncanny PHP
Even before superhero movies were an annual summer staple, comic book heroes have been a part of my life. Because super heroes' backgrounds and powers are often re-imagined and updated, they’ve kept their appeal and place in our popular culture. PHPs continual popularity, which you’ve read about in these pages many times, is due to a similar impetus to evolve. PHP 7 brought static and return type hints while the later 5.x releases made it easier to use functional programming techniques. In its early days, PHPs popularity was boosted by how easy it was to extend and bring in new capabilities to your web applications. As the language we use evolves, make sure you’re staying relevant by expanding what’s in your utility belt.

Atlas: A Data Mapper For Your Persistence Model, presented by Paul M. Jones
Atlas lets you build an OO model of your SQL tables and relationships. You can use it at the start of your project for basic CRUD operations. As you begin to need simple behaviours in your application, you can add them to the Record and RecordSet persistence model objects. Finally, when the time comes to transition to a rich domain model, you can map the Atlas persistence model objects to your domain Entities and Aggregates.

Pierre Fay Talks About Magento 2 and Magento Events
Pierre Fay is a well known Magento expert from the French Magento Community. He has been Magento Certified since 2012. He currently works as a Magento Expert at Decathlon International. Since 2009, Pierre has worked with several agencies in various capacities including developer, lead developer, technical expert, and project manager.


Do you have a position that you would like to fill? PHP Weekly is ideal for targeting developers and the cost is only $50/week for an advert.  Please let me know if you are interested by emailing me at [email protected]

Interesting Projects, Tools and Libraries

Laravel skeleton application

PHP bot interface to work with Viber API.

This package provides a Blade directive for Laravel >=5.1 to cache rendered partials in Laravel.

PHP library to consume messages from any broker.

This is a PHP version of mysqldump cli that comes with MySQL, without dependencies, output compression and sane defaults.

A flexible, easy-to-use Data Mapper ORM for PHP, it provides a quick and intuitive way to query and persist custom domain objects into a SQL Database.

Global admin, ban and communication management system for the Source engine.

PHP cache slam defence using a semaphore to prevent dogpile effect.

Base distribution for fast and feature-rich Drupal.

Simple SAML toolkit for PHP. Add SAML support to your PHP softwares using this library.

Non-standard PHP Library (NSPL) is a collection of modules that are meant to solve common day to day routine problems.

A SQL query builder with zero dependencies. 

Please help us by clicking to our sponsor:

encrypt php scriptsProtect your PHP Code
Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.

So, how did you like this issue?

Like us on FacebookFollow us on Twitter
We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks.
Also, if you have a site or blog related to PHP then please link through to our site.

unsubscribe from this list | update subscription preferences 

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

Talk to us!

If you have some news, want to share a link with us or chat with us feel free to email us.

And we also have an RSS feed that you can use.

Like us on FacebookFollow us on Twitter

Copyright ©