sticker

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!

July 13, 2017


Hi there PHP fans,

This week the PHP development team has announced the immediate availability of three more security releases; PHP 5.6.31, 7.1.7 and 7.0.21. The development preview of PHP 7.2.0 Alpha 3 has also been released.

Also this week, Lorna Jane Mitchell has put together a list of some of the best HTTP Tools for anyone out there working on APIs.

Last week the Drupal Association shared the results from its community discussions. Today we bring you the webinar explaining those findings in depth, along with proposals from the community on how to evolve community governance.

Plus we have an article from a developer about his take on an important part of acquiring and hanging onto developers - Company and Team Culture. 

And finally, take a look at six of the best Laravel open-source projects on GitHub, specifically to review the testing suites they are using.

Enjoy your read!

Cheers
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.

Articles

Company and Team Culture
I talk to a lot of companies, and work at quite a few companies, as contractor or consultant. Quite often I hear management complain about how hard it is to get good developers, and also that developers leave again after a while. For this article I want to focus on an important part of acquiring and keeping developers: Company and Team Culture.

HTTP Tools Roundup
At a conference a few days ago, I put up a slide with a few of my favourite tools on it. I got some brilliant additional recommendations in return from twitter, so I thought I'd collect them all in one place in case anyone is interested - all these tools are excellent for anyone working APIs (so that's everyone!).

Automated Testing: 6 Open-Source Laravel Projects 
Recently I became much more interested in automated testing – PHPUnit, TDD, Laravel Dusk, Travis and other keywords became “closer”, so I decided to look around at how other people perform automated testing. Found quite a few Laravel open-source projects on GitHub, and picked 6 of them to review their testing suite. Let’s take a look.

Top 10 Magento Extensions That Every Magento Store Needs
Choosing the top 10 Magento extensions is not easy. There are hundreds of useful Magento extensions, each with its own unique functionality. What extensions you need for your Magento store depend upon your stores requirements and your own preferences. One extension that is vital for one Magento store might not hold that much importance for another. Based upon the popularity and usefulness, we have compiled the following list of top 10 Magento extensions.

Silex is Dead (… or not)
After the recent deSymfony Conference in Castellón (Spain) a couple of tweets caught the eye of Gonzalo Ayuso - "Silex Is Dead". In this article Gonzalo elaborates on the sentiment and reasoning behind those tweets.

Tutorials and Talks

PHP 7.2: Add Extension By Name
I don’t know if you’ve been keeping up, but there’s not a lot of new coming down the pipe in PHP 7.2. Yeah, there is a good list of things that are being deprecated, and a change to allow for type widening, but compared to PHP 7.0 and PHP 7.2, PHP 7.2 is positively a yawner. This makes writing articles about the new hotness coming down the pipe a bit difficult. Even so, there are a couple of things that are worth noting in PHP 7.2. One of them is “PHP RFC: Allow loading extensions by name”.

How to Analyse Tweet Sentiments with PHP Machine Learning
As of late, it seems everyone and their proverbial Grandma is talking about Machine Learning. Your social media feeds are inundated with posts about ML, Python, TensorFlow, Spark, Scala, Go and so on; and if you are anything like me, you might be wondering, what about PHP? Yes, what about Machine Learning and PHP? Fortunately, someone was crazy enough not only to ask that question, but to also develop a generic machine learning library that we can use in our next project. In this post we are going take a look at PHP-ML – a machine learning library for PHP – and we’ll write a sentiment analysis class that we can later reuse for our own chat or tweet bot.

Easily Optimise Images Using PHP (and some binaries)
Our recently released image-optimiser package can shave off some kilobytes of PNGs, JPGs, SVGs and GIFs by running them through a chain of various image optimisation tools. In this blog post I’ll tell you all about it.

Laravel 5.5 Pivot Casting
A new addition to Laravel 5.5 will add support for pivot table casts when inserting & updating data on an intermediate table model.

Mautic Step 1 – Configuring an Email Service Provider
There are two things that really confuse me about Mautic; properly configuring an Email Service Provider (ESP), and segmenting & tagging. We’ll tackle the latter one in a later post, but the former is an important topic. It is also one that I do not fully understand. What is presented here is what I have learned through trial and error. It may be partially or wholly incorrect. If you find something that I’ve gotten wrong, please, by all means, correct me in the comments. This is the second post in a series titled “My Journey into Mautic”. If you are starting here, you might get an incomplete picture, therefore you may want to check out the previous articles.

The Simple Way to Manually Deactivate WordPress Plugins
Plugins and themes on WordPress can occasionally interfere with each other and prevent your login page from loading, which will prevent you from accessing your websites backend. In most cases you might even get nothing but a white screen. The solution in this case is to access the database associated with your WordPress site using phpMyAdmin and deactivate the plugins manually.

CodeIgniter Form Validation: From Start to Finish
As a web application developer, form validation is a crucial part of your work, and it should not be underrated as it could lead to security flaws in your application. You should consider it a must if you're striving to provide a professional end user experience. In this article, we'll go through the built-in form validation library in the CodeIgniter framework.

Drop-Dead Simple SASS Builds in Symfony Flex with Webpack Encore
Symfony Encore is a wrapper for the JavaScript module bundler Webpack. Webpack is used to manage Front End assets like JavaScript, CSS and image for browser consumption, often with conversion step from a source format like SASS. Encore provides an opinionated way to add Webpack to your Symfony projects.

5 Ways to Deploy PHP Applications
In Buddy.Works we help developers automate tests and deployments of their application. In this article we'll compare the most popular delivery workflows for PHP applications.

Leaflet Search Map using PHP MySQL AJAX Requests
Leaflet is a great JavaScript library that we can use to build a Google Maps alternative with PHP and MySQL, as we have seen in a previous article. Read this article to learn how to improve your Leaflet map application by implementing a search engine on your maps pages using AJAX requests.

Generate Documentations For PHP Projects Through Sami
Developers regularly create large blocks of code that form parts of APIs and other mid to large level projects. While there is (more or less) an agreed upon convention for code writing, every developer has a personal comment and documentation writing standards. Some add small cryptic notes while others attach full-length Google Docs that document the method or class in painful details. This problem becomes very severe when the number of end users increases and there is a need for proper documentation of the project.

Refactoring Singleton Usage to get Testable Code
So your code base is littered with singletons and using them? Don't worry, you can start refactoring them out of your code base class by class and introduce increased testability at every step. This strategy is very simple to implement and the probability of breaking your code is very low, especially when you are becoming more experienced with this technique.

Designing a JSON Serialiser
For the workshops that I organise, I often need some "utilities" that will do the job, but are as simple as possible. In this post I'd like to look closer at some of the design considerations for the JSON serialiser I eventually came up with.

Craft CMS | Self-Hosted WordPress Alternatives Part 1
I’ve been developing with WordPress for quite some time now (almost 7 years), which is practically an eternity in the world of technology and software development. Realising I’ve spent all this time with just WordPress has got me wondering what some of the other CMS platforms look like today. Some of the frameworks that were available when I first started working with WordPress have matured a lot, and there are some new players on the field that are definitely worth a look. In this series, I’ll be taking a look at some of these platforms and comparing them in several aspects to WordPress.

Your First GraphQL API - Sorting
Similar to pagination, sorting is another complementary technical for loading large data set. In this tutorial, we are going to implement sorting for our articles table.
News and Announcements

PHP 5.6.31 Released
The PHP development team announces the immediate availability of PHP 5.6.31. This is a security release. Several security bugs were fixed in this release. All PHP 5.6 users are encouraged to upgrade to this version. 

PHP 7.1.7 Released
The PHP development team announces the immediate availability of PHP 7.1.7. This is a security release with several bug fixes included. All PHP 7.1 users are encouraged to upgrade to this version. 

PHP 7.2.0 Alpha 3 Released
The PHP development team announces the immediate availability of PHP 7.2.0 Alpha 3. This release contains fixes and improvements relative to Alpha 2. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.
THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!

PHP 7.0.21 Released
The PHP development team announces the immediate availability of PHP 7.0.21. This is a security release. Several security bugs were fixed in this release. All PHP 7.0 users are encouraged to upgrade to this version.

CoderCruise - July 16th-23rd 2017, New Orleans
Only a couple of days to go! CoderCruise is the spiritual successor to php[cruise] that was run in 2016. The PHP community had so much fun that we decided we needed to expand the idea to the greater web tech community! This will be a 7-day cruise out of the port of New Orleans that will include 3 days of conference (while at sea) and 3 days at the ports of Montego Bay, Grand Cayman, and Cozumel. It's not too late to get your tickets.

Pacific Northwest PHP - September 7th–9th 2017, Seattle, WA
The Pacific Northwest PHP Conference is a 3-day event in the Pacific Northwest region of the United States for PHP and Web developers. Our past conferences have included world renowned speakers from the PHP community, presenting about a wide range of topics - from APIs and CMS to unit testing and version control. Tickets are on sale now.

Nomad PHP US - August 17th 2017 20:00 CDT
Demystifying Algorithmic Complexity, presented by John Bafford. Complexity Theory. Big-O. Constant, linear, logarithmic, and quadratic time vs. space trade-offs. What does it actually mean when we say a function or an algorithm is efficient? How can we tell if we can do better? Join me, on this tour through a corner of computer science that few developers actively think about, and you’ll discover a new way of looking at code and thinking about problems.

Nomad PHP EU - August 17th 2017 20:00 CEST
Continuous Deployment 2.0: Playtime is Over, presented by Michelangelo van Dam. Continuous Deployment, TDD and Continuous Integration is nothing new anymore and many of you are already veterans, deploying multiple times each day, code into production. But you’re still suffering from cutting corners and doing something quick on production when time is pressing, violating the processes you all worked hard on to get approved. In this talk we take this very concept to the next level and show you how we used unconventional ways to deploy faster with less issues, and regained control over a 10+ year old legacy application. 

Podcasts

Changelog Podcast #255: Why Is GraphQL So Cool?
Johannes Schickling (Founder of Graphcool) joined the show to talk about GraphQL — an application layer query language from Facebook. We talked about what it is, where it makes sense to use it, its role in serverless architectures, getting docs for free via Schemas and Types, and the community that's rallying around this new way to think about APIs.

MageTalk Magento Podcast #135 - “The Great End-of-Life Debate of 2017”
NOTICE: This was recorded prior to the EOL announcement. End-of-Life is a hot topic in the Magento Space. We break it down.

The Five-Minute Geek Show Podcast: Episode 101 - Your Top Idea, and Letting It Fester
What's at the top of your brain? And what's the benefit you get from having to wait on something, letting your brain roll over it?

PHP Roundtable Podcast Episode 64: PHP 7 Source Code: A Deep Dive
We take a deep-dive into the underlying structure of the the PHP source code and talk about the scanner, parser, the new AST layer (and the evil things we can do with it), and the Zend engine. Let's see how the PHP sausage is made!

Laravel News Podcast LN41: Laracon Sessions with Michele and Mathias Hansen
In the penultimate Laracon Session, Jake and Michael are joined by husband and wife tag-team speakers Michele and Mathias Hansen to talk about launching and scaling a side project, along with your regular dose of Laravel framework and community news. 

LaraChat Live - Episode #29: Lean Methodologies
Today we welcome back JMac (@gonedark on Twitter) to discuss lean methodologies in product development.

Zend Framework Quick Bites Episode 29 - What Is Your Favourite (or not so preferred) Part of Zend Expressive
In this episode, I’m handing control over to you! That’s right, I want to know what your favourite (or not so preferred) aspect of Zend Expressive and/or Zend Framework is. Why? Because I want to continue improving the quality of the tutorials (as always). And I can only do this by getting your input.

PHP Ugly Podcast #63: The Popular Guys
Recorded June 1st, 2017. Show notes: A Review of php[tek] PHP RFC: Generics The Balance between Visual and Technical Debt in PHP Stack Overflow: Helping One Million Developers Exit Vim Elon Musk leaves presidential councils IT Security presented to you by professional poker players StockStream GOP...

Reading and Viewing

Now Available: The Community Discussions Webinar Recording
Last week, we shared the high-level findings from our recent Community Discussions. Today, Whitney Hess hosted a webinar to explain those findings in depth, along with proposals from the community on how to evolve community governance.

Cloudways Interviewed James Farmer, Co-Founder and CEO of WPMU DEV
James Farmer is a Literature graduate by education and the owner of the largest WordPress plugin site by profession. He started his career as a university lecturer in education design loitering around WordPress forums and later found the potential in Multisite. Now he’s the co-founder and CEO of Incsub, based in Melbourne, Australia. His child companies include WPMU DEV, Edublogs & CampusPress. This is the story of how it all started.

Dutch PHP Conference 2017 - The Vlog
Having attended, and spoken at, the Dutch PHP conference many times over the past few years, Thijs Feryn produced a vlog of this years event, which took place last month. 

Realtime PHP Using Websockets - Jeff Kolesnikowicz
In this talk, we will discuss some use cases for websockets as well as strategies for implementing websockets into your PHP application. We will look at the most popular websocket protocols and specifically an overview of the WAMP protocol (the protocol, not the stack - http://wamp-proto.org) and the PHP Ratchet library. Additionally, we'll talk about WAMPv2 and Thruway. At the end of this talk, you’ll have a better sense of what websockets are, how they work, and how to use them in your application.

On PHPs Best Practices
When it comes to best practices, there’s always a healthy debate, and that’s never more true than in the PHP community. The “best practices” that have been written about, agreed upon and talked about don’t exist out of thin air, but are hard-won knowledge derived from experience, plus a little bit of not following best practices. I want to talk a little bit about what PHPs best practices are, where they come from, how you can get involved in the next generation, and the best way to use best practices in your day-to-day coding.

Jobs



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 katie@phpweekly.com

Interesting Projects, Tools and Libraries

UltimaPHP
A modern Ultima Online server written in PHP.

moment.php
Parse, validate, manipulate and display dates in PHP w/ i18n support. Inspired by moment.js.

movim
A decentralised social network, written in PHP and HTML5 and based on the XMPP standard protocol.

kreta
An ecosystem based on microservices that following the Domain-Driven Design can provide a serious, robust and testable project management platform written in PHP7.

php-scoper
Prefixes all PHP namespaces in a file/directory, for example, to prevent dependency conflicts when distributing phars.

laratrust
An easy and flexible way to add roles, permissions and teams authorisation to Laravel 5 (>=5.2).

zencart
Zen Cart® is a full-function e-commerce application for your website. 

shopkit
Shopkit is a comprehensive commerce solution for the excellent Kirby CMS.

php-queuesadilla
A job/worker system built to support various queuing systems.

patchwork
Method redefinition (monkey-patching) functionality for PHP. 

egroupware
Web based groupware server written in PHP.

limesurvey
Limesurvey is the number one open-source survey software. Advanced features like branching and multiple question types make it a valuable partner for survey-creation.

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 © PHPWeekly.com