|Welcome to the latest round-up of all things PHP!
We start this week with an exclusive offer for all you Magento fans. Ray Bogman's latest publication - Magento 2 Cookbook - is on sale now, and you can get 50% off the purchase price! Find the code in this weeks edition.
Also this week, we have a survey looking at the possible loopholes in PHP 7 that require improvements, several months after its release.
The latest That Podcast recaps a previous episode from last year, looking at the PHP FIG PSR-7 middlewares proposal.
Plus we have a tutorial on the Marvel API, used by developers to access years of Marvel comics data.
And finally, PHP Conference Asia has been announced, taking place in Singapore this August. With a tutorial day, followed by two conference days, the Call for Papers is open now.
Have a great weekend,
Ade and Katie
We love our sponsors. Why not try them?
From our sponsors:
||Exclusively to PHP Weekly readers, we have an offer on SourceGuardian, up until the end of June 2016, to receive 25% off the $199 purchase price of SourceGuardian. Powerful encryption for your PHP code. Download the free trial and use the following discount code: bldcvzrh0FIw5AoY
(ads by SourceGuardian)
What Are The Loopholes Still Left In PHP 7?
On the Cloudways blog this week - We contacted several PHP influencers and carried out a survey about the areas of PHP 7 that require improvements. We asked, “What do you think are the loopholes still left in PHP 7? Or what are the areas of improvements which should be covered in the next stable release, PHP 8?” Read here what they had to say.
Forge Let’s Encrypt Improvements
This week I’ve launched improvements to Forge’s Let’s Encrypt SSL support. From now on, Let’s Encrypt certificates generated via Forge do not require you to manually add a scheduled job to renew them. Instead, Forge will automatically install a renewal script on your server that renews the certificates every week, allowing you to have an SSL certificate that is always up to date and trusted in all major browsers.
The PHP Diversity Rainbow ElePHPant
I’m looking to fund a new rainbow ElePHPant to promote PHP Diversity. I posted a short tweet including a picture, just to gauge the level of interest in a Diversity Rainbow Elephant, and was overwhelmed by the response. I don’t yet know how practical it is to achieve that rainbow colouring in an ElePHPant, blending the colours neatly at the seams, and the joins; or if it can be achieved at a reasonable cost; but the twitter response suggested that there was enough interest to take this project forward.
Tutorials and Talks
We’re Building a Marvel Catalog Reader! Avengers, Assemble!
In this tutorial, we’re going to take a look at the Marvel API, a tool provided by Marvel for developers to get access to the 70-plus years of Marvel comics data. First, we’ll walk through the steps in which one can acquire the keys needed to make requests to the API. Then, we’ll look at the tools we can use to test out the API. Finally, we’re going to build a website that uses the API.
Free Course: Create Content in WordPress With Posts and Pages
WordPress is a powerful and easy-to-use tool for creating websites, but for beginners it can still be a little hard to know where to get started. What's the best way to fit your content into the WordPress content management system? In our new course, Create Content in WordPress With Posts and Pages, you'll learn how to create content for your site in WordPress. The course consists of just seven bite-sized video lessons totalling around 45 minutes' viewing time, so you can easily fit it in around your other commitments. And it's completely free!
Using Doctrine ORM with Symfony PHP Framework
The standard edition of Symfony PHP framework comes integrated with Doctrine, an object-relational mapper (ORM) and a database abstraction layer (DBAL) which makes working with databases very easy. This tutorial will focus on using Doctrine in Symfony - how to create models of database tables and its relations, how to query the data, and more.
Dynamic Dependency Injection
In this short article I would like to demonstrate a way to inject dependencies that are not known until runtime. There are many use cases for this, and in essence it is about choosing between concrete implementations of some common interface. In object oriented design this is known as the Strategy pattern. The choice itself can be made in various ways, for example via a configuration option or a command line parameter in case of a console command, and I think the dynamic nature of the choice is the most interesting part of the pattern.
Getting Package Statistics from Packagist
At my work I’m currently creating a new dashboard. That’s a fancy term for an html page sprinkled with some Vue magic that will be displayed on a TV screen on the wall of our office. One of the things I want to display on our dashboard is how many times our packages get downloaded (yeah it’s a vanity project, sorry about that :-)). To make this real easy our intern and I cooked up a new package called packagist-api. It uses the packagist api to fetch data about published packages.
Send Mailchimp Email Campaigns from Laravel
These days more and more clients ask for integrations with external marketing services, like sending email via Mailchimp. Since I have that built in my newsletter service called LinksLetter (it helps to send these emails every Thursday), I want to show you how simple it is.
Detecting Malicious Users behind Anonymous Proxies using IP2Proxy
Proxy servers are used by many users to bypass Web site restrictions. Sometimes malicious users are hiding behind proxies to commit fraud, because a third party anonymous server is hiding their real location. Fortunately it is possible to detect when users are behind proxies, by looking up their IP address using IP2Proxy databases of known proxies. Read this article to learn how to use IP2Proxy database to detect when users are behind proxies, so you can take the necessary measures to avoid those users causing some kind of harm.
How Can the ELK Stack Be Used to Monitor PHP Apps?
This article will describe how to set up the ELK Stack on a local development environment, ship web server logs (Apache logs in this case) into Elasticsearch using Logstash, and then analyse the data in Kibana.
Drupal 8: Properly Injecting Dependencies Using DI
As I am sure you know by now, dependency injection (DI) and the Symfony service container are important new development features of Drupal 8. However, even though they are starting to be better understood in the Drupal development community, there is still some lack of clarity about how exactly to inject services into Drupal 8 classes.
Acceptance Testing a Laravel and Vue.js Application
During the past few months, myself and a team of developers have been building and maintaining a relatively large application, an all-in-one shop management system for retail and restaurant businesses. As the application gained popularity we started receiving a lot of feature requests and bug reports from clients, and we started to feel the system growing, and that it’s hard to have an eye on everything while making changes, so a couple of weeks ago we started to write tests. This post is about a single type of test and I think it’s the most interesting one.
|News and Announcements
Symfony Catalunya 2016 - July 22nd-23rd, Barcelona
The latest International Symfony event to be announced takes place, for the first time, in Barcelona. With a list of speakers combining communication skills with the most interesting topics related to Symfony, plus a live Podcast from the Sound of Symfony team, this event should prove to be unique. Early Bird tickets are still on sale.
Laracon - 27-29th July 2016, Louisville
Three days of learning, growing and mingling with the Laravel community. It might just be the biggest Laracon yet. Tickets are on sale now.
PHP Conference Asia - 22nd-24th August 2016, Singapore
The second pan-Asian PHP conference will take place between 22nd and 24th August 2016 in Singapore - the Garden City of the East! Monday, 22nd August 2016 will be a Tutorial day, followed by two days of Conference. Come and meet with the fastest growing PHP communities in Asia. More than 300 attendees are expected in this single track conference. The Call for Papers is now open.
ConFoo - December 5-7th 2016, Vancouver
ConFoo Vancouver is a multi-technology conference for web developers. 100 presentations by popular international speakers, focused on pragmatic solutions for web developers, with great content and amazing experience. The Call for Papers is now open.
Voices of the ElePHPant - Interview with Beau Simensen
This week Cal Evans talks to Sculpin and That Podcast creator Beau Simensen.
Three Devs and a Maybe Podcast - Instant Feedback on your Pizza Oven
On this weeks episode, Edd and Mick start off a discussion around productivity, quick feedback cycles with clients and building pizza ovens. We then move on to chat about how Edd ‘may be’ accident prone, how MVCC works at a high-level and why you need to vacuum your tables in Postgres. Finally, we bring up Uncle Bob’s recent ‘Type Wars’ article and highlight the different variants of typing (static, dynamic, weak and strong).
That Podcast Episode 31: Middlewares!
Beau and Dave recap Episode 20 from last year, discussing the PHP FIG PSR-7 middlewares proposal.
MageTalk Magento Podcast #93 – “The Source of All Truth” (w/ Evan Petersen)
We sit down with Evan Petersen of Dotcomjungle to discuss ERP and Netsuite.
Free The Geek Podcast: Episode 18 - Talking Conferences and Mental Health with Matthew Turland
In this episode I have a wonderful chat with Matthew Turland about what it’s like speaking at conferences, and mental health - especially within the IT community. It’s a chat which I feel privileged to have had, primarily because it can be such a sensitive topic for so many people around the world. Matthew was very kind to open up to me and share with me some of his struggles, and how he’s dealt with them over the years. He also shared a host of links to some excellent resources, should you or someone you know, be in the same position; links which you can find in the related links section.
Laravel News Podcast LN17: Laravel Echo, Valet, and PHP-FIG Implosion
In this episode, we talk about Laravel Echo and new changes to Valet.
The John Morris Show Podcast - The 12-Step Freelance Profile Template
I remember what it's like. When I first started freelancing, I had no clue what to write on my profiles and services page. What was I supposed to say? What questions did clients need answered? Was there some big secret? In an earlier LinkedIn post, 5 Pages Every Web Designer Should Have on Their Website, I mentioned the 10 questions you need to answer on your profiles and services pages (and I'm still shocked to this day how well this works).
Magento 2 Cookbook - by Ray Bogman
Learn all about the latest Magento 2 technics, using PHP7, Nginx, HTTPS, Varnish, HTTP/2, Cloudflare, Docker and much more. Readers of PHPWeekly News will receive a massive 50% off the purchase price of this book, exclusively here. Simply enter the code PHP50 at the checkout to receive your discount. Offer ends 30th June 2016.
Refactoring with Collections and Null Objects
One of my absolute favourite collection refactorings is to combine the first, and contains methods with higher order functions to turn repetitive loop-heavy code into short, expressive solutions that read like human speech. In this quick screencast, I go over an example of how I used this approach, combined with the Null Object pattern, to clean up some duplication in the Nitpick CI codebase.
Max Pronko Talks About Magento 1, Developing Magento 2 And Working With The Magento Community
Continuing with the series of interviews, today we are honoured to have Max Pronko with us. With more than 10 years of experience in software development and Magento, Max Pronko is one of the most respected individuals in the Magento industry. Currently, he is working at GiftsDirect.com as the Chief Technology Officer, which in itself is a testimony to his dedication, skills, and endeavours.
Ruben Romero – Varnish Cache and Varnish Software
Ruben Romero is this weeks guest on the Thijs Feryn video blog and podcast. Ruben is the Director of Community Engagement at Varnish Software. He was born in Madrid, grew up in Ecuador and now lives in Oslo. Follow him on Twitter.
Drupal 8 Development Cookbook Paperback – (by Matt Glaman, pubished 8th Mar 2016)
This step-by-step guide will show you how to deploy from development, staging, and production of a website with Drupal 8's brand new configuration management system. Discover the enhanced content authoring experience that comes with Drupal 8, and how to customise it.
Elephant Sized PHP: Scaling Your PHP Application [Print Replica] Kindle Edition (by Andrew Beak, 12th March 2016)
Elephant Sized PHP introduces the techniques that are used to run PHP at scale. It focuses on providing direct guidance on implementing scaleable solutions to help you plan your application and prepare for growth. This book discusses real world strategies and teaches you how to measure and improve the performance of your PHP applications.
Arrays : PHP 7 Complete Guide: Single, Multi-dimensional, Associative, and Object Arrays (by Mr Steve Prettyman, published 18th Mar 2016)
Arrays: PHP 7 Complete Guide is a "first of its kind" book which provides an in-depth look at arrays. This guide does assume the user has a beginner's understanding of the basic concepts of the PHP language. However, readers can brush up on the basics of PHP by viewing any of the many free tutorials and videos on the web.
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 firstname.lastname@example.org
Interesting Projects, Tools and Libraries
Application metrics toolbox for InfluxDB.
The Invoke system helps you protect your application based on the endpoints and the URI requested.
Simple raw PHP database experiment wrapped in Vagrant.
Phactor is a high-performance PHP implementation of the elliptic curve math functions needed for EC keypair and ECDSA signature generation.
Mocka is a clean, structured, but still very flexible mocking framework. It follows object-oriented guidelines to create mock classes, objects and their methods.
Tools for Hypermedia REST API development in PHP.
Knapsack is a collection pipeline library implementing most of the sequence operations proposed by Clojures sequences.
Crypto library for storage and messaging for Swift, ObjC, Android, С++, JS, Python, Ruby, PHP.
Prometheus client library for PHP.
A collection of PHP Traits to make life with PHP (a bit) easier.
The PHP interpreter.
A PHP client for Firebase.
The efficient and elegant JSON API server library for PHP.
phpfmt - php code formatter
PHP 5.5+ library to make working with money safer, easier, and fun!
|Please help us by clicking to our sponsor:
From our sponsors:
So, how did you like this issue?
Protect your PHP code with SourceGuardian 10. Free trial.