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!

November 23, 2017

Welcome to this weeks @phpweekly news.

This week sees the release of version 4.9 of WordPress, named “Tipton” in honour of jazz musician and band leader Billy Tipton. It's available now for download or update in your WordPress dashboard.

Also this week, Symfony 4 is just around the corner and some recent changes have been made, prompted by feedback from early adopters.

The php[tek] conference has been announced for May next year in Atlanta, and the Call for Papers is now open.

Plus we take a look at the third part in the series on Building ReactPHP Memcached Client, this week focusing on emitting events.

And finally, the dev/hell podcast is back after a hiatus of three months. The guys discuss the reasons for their long absence whilst trying to get the podcast back on track.

Have a great weekend,

Katie and Ade

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect 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.


Silex is (almost) Dead, Long Live My-Lex
SymfonyCon is happening in Cluj and on Thursday the keynote by Fabien Potencier announced some important changes. One of the most important announcements was the EOL of Silex in 2018.

State of GraphQL PHP Libraries and Symfony Integrations in 2017
GraphQL has continued to gain momentum over the course of 2017. While it's certainly not a replacement for REST in all cases, it does provide consumers of Content APIs, etc. better ergonomics than general purpose RESTful interfaces. For PHP there are currently two popular libraries, both of which have Symfony integration Bundles.

Get Ready for PHP 7.2
PHP 7.2 will be released on November 30th (the same day as Symfony 4). During the past SymfonyCon Cluj 2017 conference, Sara Golemon, release manager of PHP 7.2, explained that PHP 7.2 is not as revolutionary as PHP 7.0, but it provides a nice 10% performance increase over PHP 7.1 and some code clean-ups.

Symfony 4: An Update on Flex
Symfony 4 is just around the corner and Symfony Flex is one of the main selling points for the upgrade. Developers love the new philosophy and a lot of changes have happened since my last blog post. Let me recap the recent changes that you might not be aware of. Most of these changes were prompted by feedback from early adopters.

Top PHP Tutorials
Popular sites, blogs and tutorials for learning and mastering PHP.

Tutorials and Talks

How to Read Big Files with PHP (Without Killing Your Server)
It’s not often that we, as PHP developers, need to worry about memory management. The PHP engine does a stellar job of cleaning up after us, and the web server model of short-lived execution contexts means even the sloppiest code has no long-lasting effects. There are rare times when we may need to step outside of this comfortable boundary - like when we’re trying to run Composer for a large project on the smallest VPS we can create, or when we need to read large files on an equally small server.

Extending ReactPHP's Child Processes Part Two
react/child-process is very flexible and can work a lot of ways but sometimes you don't want to be bothered with the details of how it works and just want a simpler API to do that.

Building ReactPHP Memcached Client: Emitting Events
This is the third from the series about building from scratch a streaming Memcached PHP client for ReactPHP ecosystem. The library is already released and published, you can find it on GitHub.

What Does It Take To Start Using Zend Expressive?
Ever thought that it's hard to get started with Zend Expressive? Ever think you need to know Vagrant, Ansible, Docker, Puppet, Linux, and more? Nope, you don't! In this post, I'm going to show you that, while these tools can help, if you're just getting started with the framework (such as learning about it), you don't need them.

Gates and Policies in Laravel
Today, we're going to discuss the authorisation system of the Laravel web framework. The Laravel framework implements authorisation in the form of gates and policies. After an introduction to gates and policies, I'll demonstrate the concepts by implementing a custom example.

Tracking Blue Objects with Opencv and Python
Opencv is an amazing Open Source Computer Vision Library. Today We’re going to hack a little bit with it. The idea is track blue objects. Why blue objects? Maybe because I’ve got a couple of them in my desk. Let’s start.

Creatuity Magento 1 Performance Refactoring
The Creatuity team was recently asked to improve performance for a large M1 site. Our client was unhappy with two areas of the site: the homepage and orders list. Being fans of Blackfire, we went to work profiling.

Extending Final Classes and Methods by Manipulating the AST
We know that we should always write unit tests for our code, and mock dependencies; but that isn’t always easy when we need to mock classes define as final, or that contain final methods. This isn’t normally a problem when we’re only working with classes within our own libraries and applications, because we control whether they are final or not, and we can type-hint these dependencies to interfaces. However, when the dependencies that we use are from external libraries, we lose that control; and it can become harder to test our own classes if we do need to mock final classes adn they haven’t been built to interfaces.

Using Named Routes in a Lumen Test
When writing tests in Lumen, I recently discovered that the route() helper doesn’t work with tests out-of-the-box.

How to Optimise Docker-based CI Runners with Shared Package Caches
At Unleashed Technologies we use Gitlab CI with Docker runners for our continuous integration testing. We’ve put significant effort into speeding up the build execution speeds. One of the optimisations we made was to share a cache volume across all the CI jobs, allowing them to share files like package download caches.
News and Announcements

WordPress 4.9 “Tipton”
Version 4.9 of WordPress, named “Tipton” in honor of jazz musician and band leader Billy Tipton, is available for download or update in your WordPress dashboard. New features in 4.9 will smooth your design workflow and keep you safe from coding errors.

Joomla 4.0 Alpha 1 Released for Testing
The Joomla Project is pleased to announce the availability of Joomla 4.0 Alpha 1 for download.

Fedora 27: Changes In httpd And PHP    
The Apache HTTP server and PHP configuration have changed in Fedora 27, here is some explanations.

Laravel v5.5.21 Released
Just another weekly Laravel release with a couple of nice additions and improvements.

PHP Benelux - 26-27th January 2018, Antwerp
We are excited to announce the date for PHPBenelux 2018. Like every year we will have a theme, for this year all activities will be sports themed; Relax while watching some games, join the fun or just be a good sport. The conference is spread over 2 days: Friday afternoon (after the tutorials) and Saturday. Tutorials as well as the conference itself are spread over several parallel tracks. On Friday and Saturday evening, we’re having the conference social. This will include drinks and all the cool side activities. Tickets are on sale now.

Midwest PHP Conference - 9-10th March 2018, Minnesota
Midwest PHP is the FUN conference. This is our fifth annual conference, and each year it gets better and better. Our goal is to share best practices, ideas, and techniques about building state-of-the-art software applications. Blind Bird tickets are on sale now.

php[tek] Conference - May 31st-June 1st 2018, Atlanta
php[tek] 2018 is the premier PHP conference and annual homecoming for the PHP Community. This conference will be our 13th annual, and php[architect] and One for All Events are excited to continue to host the event in Atlanta! The Call for Papers is now open.

DrupalCon - April 9-13th 2018, Nashville
Save The Date! DrupalCon details will be announced next week. Sign up to DrupalCon News to be sure you don’t miss the opening.


dev/hell Podcast Episode 94: Shaking Off The Rust
It’s been a while since our last episode, but this time Chris and Ed go together in the same room down in Pawnee, Indiana to record an episode. Between Ed making faces at Chris while recording and Chris totally messing up who wrote the testing blog post he went on and on, it was clear dev/hell is not in the groove. In this episode Ed talks about some of his personal struggles that led to a long absence, Chris asks about what to do when the time frame for your goals doesn’t align with the types of places you work, and Chris and Ed try to enjoy being together in the same place while hoping the noise from the hand dryer in the bathroom on the other side of the wall from them doesn’t cause a ton of noise.

Voices of the ElePHPant - Interview with Philippe Gamache
In this episode, Cal talks with Philippe Gamache about ConFoo, PHP Quebec, the PHP community, and other interesting topics.

Three Devs and a Maybe - Let's AWS Everything!
In this week’s episode Edd and Mick catch-up after another long hiatus (sorry about that). We start off by discussing principles mentioned in the Clean Coder book, gaining confidence in code by way of tests, and Elon Musk’s dream of putting a person on Mars. Leading on from this, Edd talks about his continued venture into the internals of Bitcoin, Hardware wallets, ASIC mining USB sticks and Merkle Trees. We then highlight MyBuilder’s recent switch from dedicated servers to the AWS stack, highlighting the pros n’ cons of both approaches and some gotchas encountered along the way. Finally, we mention some security audit and monitoring tools that have proven useful for keeping an eye on the (ever increasing) servers present in a typical setup.

Post Status Draft Podcast - Interview with Matt Mullenweg on the WordPress Ecosystem
In this episode, I talk to Matt Mullenweg — co-founder of WordPress and the CEO of Automattic — about what’s happening in the world of WordPress, and his role in it all.

Changelog Podcast #273: Data Science at OSCON
On this show we're going back into the archives to conversations we had around data science at OSCON 2017. We talked with Vida Williams (Data Scientist) and Michelle Casbon (Director of Data Science at Qordoba) about the social impact of open data, personal data and transparency, privacy, the big data problem of public surveillance, electronic fingerprinting, the rift between data scientists and computer scientists, natural language processing, machine learning, and more. 

Full Stack Radio Podcast Episode 77: Tailwind CSS Q&A and the Road to 1.0
In this episode, Adam and Jonathan Reinink continue their discussion about Tailwind CSS, answering listener questions about the framework and sharing details behind the roadmap to 1.0. 

MageTalk Magento Podcast #149  – MMES Interviews
Phillip interviews some longtime Magento community members at Meet Magento Spain.

Laravel News Podcast LN50: Presets, Editors, and Laracon 2018
Jake and Michael take on episode 50 talking about survey results, frontend presets, code editors, Laracon in 2018, and a whole lot more.

LaraChat Live - Episode #34: API Nightmares
Today the panel talks about building  API. The good, the bad, and the ugly.

The Laracasts Snippets Episode 72: Step One is Excitement
From time to time, I'll come across discussions related to the best approach for teaching aspiring developers. And it never fails: there will always be those who recommend the driest possible introduction. Forget excitement and curiosity, as they see it. They don't factor into the equation. Wait, what??
Zend Framework Quick Bites Episode 41: The First Module of Zend Expressive Essentials is Ready
A quick, impromptu, episode to let you know that I’ve finished the first module of the upcoming Zend Expressive Essentials course! I don’t mean to overload you with plugs about me, but I’m super excited about this course and that I’ve completed the first module. It’s not a big module, but it sets the scene and helps get things started! 

PHP Ugly Podcast #82: Home Invaders
Topics this week include a recap of the Laravel Meetup and the ban on the use of DRM in Portugal.

Reading and Viewing

Laracasts: Free Visual Studio Code Course
Yesterday, Laracasts launched a free seventeen part series on Visual Studio Code and if you’ve been wanting to learn more about this editor it’d be a great place to learn all the in and outs on getting it set up for PHP development.

PHP Town Hall Podcast #55: The Hardest Problem in Software
Amanda Folson and Ben Edmunds are joined by Mike Wales and Michael Lopp to discuss the hardest problem in software - people.

Cloudways Interview - Emanuel Blagonic Believes “The Future Is In The Cloud”
Emanuel Blagonic is a designer and co-founder at Blagonic Brothers, a web agency based in Croatia. He has been in the business for more than 12 years and served 400+ clients in Croatia and worldwide. From the past 2 years, he is focusing on developing functional interfaces for web, mobile, and desktop applications. In this interview with Cloudways, he discusses his working experience and the challenges he faced during project development.

Drupal 8 Development Cookbook - Second Edition: Harness the Power of Drupal 8 With This Recipe-Based Practical Guide (by Matt Glaman, published 26th September 2017)
This step-by-step guide will show you how to deploy from development, staging, and production of a website with Drupal 8s brand new configuration management system. Discover the enhanced content authoring experience that comes with Drupal 8 and how to customise it.

PHP, MySQL & JavaScript All in One, Sams Teach Yourself (by Julie C. Meloni, published 28th September 2017)
In just a short time, you can learn how to use PHP, MySQL, and Apache together to create dynamic, interactive websites and applications using the three leading open-source web development technologies. Using a straightforward, step-by-step approach, each lesson in this book builds on the previous ones, enabling you to learn the essentials of PHP scripting, MySQL databases, and the Apache web server from the ground up.

Pro Functional PHP Programming: Application Development Strategies for Performance Optimisation, Concurrency, Testability, and Code Brevity (by Rob Aley, published 29th September 2017)
Bring the power of functional programming to your PHP applications. From performance optimisations to concurrency, improved testability to code brevity, functional programming has a host of benefits when compared to traditional imperative programming. 


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

Zephir - Ze(nd Engine) Ph(p) I(nt)r(mediate) - is a high level language that eases the creation and maintainability of extensions for PHP.

A PHP library for communicating with the Twilio REST API and generating TwiML.

A little more than a lightweight SQLite Blog-Engine.

phpBB is a popular open-source bulletin board written in PHP.

Create a Phar (PHp ARchive) file of your Composer based PHP application.

A lightweight data mapper designed to take advantage of PHP 5.3+.

Thruway is an open source client and router implementation of WAMP (Web Application Messaging Protocol), for PHP. 

Ajde is a web framework to kickstart your PHP projects.

PHPCI is a free and open source continuous integration tool specifically designed for PHP.

Exchange rates library for PHP.

Phake is a framework for PHP that aims to provide mock objects, test doubles and method stubs.

Jackalope implements the PHPCR API.

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect 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 ©