Welcome to phpweekly.com,
With the release of PHP 7.3 just around the corner we take another look at some useful upcoming changes, from the most popular to the most rare.
Also this week we have Part 6 of the Hosting WordPress Yourself series, looking at how to configure HTTPS and HTTP/2.
The latest Three Devs and a Maybe podcast has a discussion on good architectural design within software.
Plus this months php[architect] magazine is out now, all about better practice.
And finally, over 1,500 people took part in the recent Laravel Survey. We've got the results, plus some additional analytical analysis.
Have a great weekend,
Cheers
Ade and Katie |
Please help us by clicking to our sponsor:
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.
|
Articles
Guru: Right Size Your PHP
In my experience doing performance audits, I often point out that while PHP for IBM i comes perfectly configured for small applications, it must often be tuned to handle large workloads. When applications must accommodate hundreds or thousands of users, or use AJAX technology, two easy changes should be considered for PHP and Apache configurations.
PHP Development Trends to Watch Out in 2019
Developers feel quite comfortable in case of PHP website development in comparison to other programming languages since it assists them in focusing on one particular area at a time. Another major reason for its wide popularity is that it is actually an open source programming language that means it is free to use. It supports MS SQL, MySQL and Oracle databases without any sort of trouble. Considering this, it is expected to see a growing trend of PHP development. Mentioned below are some of the PHP development trends that you should watch out in 2019.
Best PhpStorm Plugins for Symfony Development
I've been using PhpStorm for quite a while and I'm still surprised now and then when it suggests an auto-completion for something I thought that's not possible. But there are still many things - usually framework- or library-specific - that PhpStorm cannot do on its own. But there are plugins that can step in place and do the magic for specific framework or library.
Supporting Unmaintained PHP Versions
PHP evolves at a great pace. The good news is that the PHP team does a great job at maintaining previous versions. At Blackfire, we are of course aware that some applications might not be updated to benefit from the most up to date PHP version.
What's New in PHP 7.3 in 30 Seconds in Diffs
No time but eager to hear PHP news? PHP 7.3 is out in December 2018 and it brings 173 changes. Which are the most useful ones? From features that might be the most interesting to those lesser ones, that anybody will rarely use. |
Tutorials and Talks
Configuring PhpStorms Code Generation
I've been using PhpStorm for quite some time now, but never took the effort to fix a few minor annoyances I had with it.
Hosting WordPress Yourself Part 6 – HTTPS and HTTP/2
In the previous installment of this series, I demonstrated how to configure cron, outgoing email and automatic backups. In this post I will show you how to configure HTTPS and HTTP/2.
Will Autowired Arrays Finally Deprecate Tags in Symfony and Nette?
I'm very happy to see that collectors are finally getting to the core of DI components of PHP frameworks. Tags, extensions, compiler passes and autoconfigure now became workarounds. Collectors are now in the best place they can... the PHP code.
How To Add To Array In PHP
PHP is an extremely versatile programming language, in many cases, there are an vast selection of methods to carry out the same task. Adding to an array is one of them, and in this article, I will go through all the options to achieve this common task.
Generate Random Alphanumeric Strings in PHP
In this tutorial, we will cover different techniques for generating random numbers and alphanumeric strings in PHP. Some of them will be cryptographically secure, while others are meant only for casual use, like assigning pseudo-random file names or creating URLs and suggesting usernames.
402 Payment Required
402 Payment Required is a status-code described by the standard as: The 402 (Payment Required) status code is reserved for future use. The original idea may have been that commercial websites and APIs would want to have a default way to communicate that a HTTP request can be repeated, after a user paid for service.
Migrating to password_verify
I’ve recently been updating a website that was written a long time ago that has not been touched in a meaningful way in many years. In addition to the actual work I was asked to do, I took the opportunity to update the password hashing routines. This site is so old that the passwords are stored using MD5 hashes and that’s not really good enough today, so I included updating to bcrypt hashing with password_hash() and password_verify() in my statement of work. I’ve done this process before, but don’t seem to have documented it, so thought I’d write it the steps I took in case it helps anyone else.
Laravel Blade Helpers
Laravel’s Blade templating engine offers a ton of convenient directives you can use to make your view files beautiful and abstract anything that may be too complex or verbose to live inside HTML. It even gives a really handy way to add your own custom directives using the Blade::directive(…) method.
Unwrapping array_wrap()
Laravel has a wrap method and array_wrap() helper to normalize values into an array.
Avoid Complex Arrays in PHP
Now that PHP 7+ sorted out a whole bunch of problems with type-hinting of parameters, return values, variables and properties, we turn our attention to somewhat deeper issues.
Installing Apache, PHP, and MySQL on macOS Mojave
I am aware of the web server software available for macOS, notably MAMP, as well as package managers like brew. These get you started quickly. But they forego the learning experience and, as most developers report, can become difficult to manage.
Hey WordPress Plugin Developers: Are Your Plugins Really Ready for Gutenberg?
In this post I’ll walk you through the process I took for making Intagrate, my Instagram WordPress plugin, Gutenberg-compatible, which will hopefully get you started on making your own plugins Gutenberg-ready. |
News and Announcements
Symfony 4.2.0 Released
Symfony 4.2.0 has just been released with a list of the most important bug changes.
Joomla 3.9.1 Release
Joomla 3.9.1 is now available. This is a bug fix release for the 3.x series of Joomla including over 40 bug fixes and improvements.
WordPress 5.0 RC2
The second release candidate for WordPress 5.0 is now available! This is an important milestone, as we near the release of WordPress 5.0. A final release date will be announced soon, based on feedback from this release candidate. Things are appearing very stable and we hope to announce a date soon. This is a big release and needs your help—if you haven’t tried 5.0 yet, now is the time!
PhpStorm 2017.3.7 and PhpStorm 2018.1.7 Are Released
We’ve already released PhpStorm 2018.3 but haven’t forgotten about those who still use earlier releases. Today we are releasing bug-fix updates for both PhpStorm 2017.3 and PhpStorm 2018.1. These updates bring important fixes to the platform.
ConFoo - March 13-15th 2019, Montreal
ConFoo Montreal is a multi-technology conference for web developers, with 155 presentations by popular international speakers, focused on pragmatic solutions for web developers. Great content and an amazing experience. Discounted tickets are on sale now.
GrumpyConf - March 22nd-23rd 2019, Ontario
Back for another edition, GrumpyConf 2019 is your opportunity to listen to some of the PHP communitys best speakers before lunch and then learn from them and other attendees via open spaces sessions. Tickets are on sale now.
Longhorn PHP Conference - 18-20th April 2019, Austin Texas
Longhorn PHP is a 3-day conference in Austin, Texas to help PHP developers level up their craft and connect with the larger PHP community. Our main goal as a conference is to equip attendees to be better developers. If you work with developers or alongside developers, we'll showcase tools and techniques to level up your ability to solve the problems you face every day. The Call for Papers is now open and Blind Bird Tickets are on sale now.
Oscon - July 15-18th 2018, Portland
The 21st Open Source Convention takes place next July. OSCON brings open source community, enterprise and engineering teams together to share best practices, projects that transform business and insight into what you need next. The Call for Speakers is now open.
Nomad PHP EU - December 13th 2018 11:00 PST
What the FLOAT?!? presented by Bernhard Breytenbach. As developers, we end up working with money and fractions sooner or later. Moreover, when we do, we quickly start to realise that fractional values work differently in a computer than we expect. Why does 0.5 + 0.25 === 0.75 return true, but 0.1 + 0.2 === 0.3 returns false. Surely they are the same? In this talk, we will take a look at numbers through the eyes of a computer to get a better understanding of what's going on behind the scenes. This talk will equip you to make better decisions when implementing mathematical functions in environments where accuracy is critical. You will better understand when floats are ideal, and when avoiding them will save you a lot of pain.
Nomad PHP US - December 13th 2018 6:00 PST
Cryptography in Depth, presented by Adam Englander. Cryptography is the invisible layer protecting everything around us. As software engineers, we are required to have some understanding of cryptography. Most of us only have a cursory understanding. Let’s dive deep into algorithms and modes for encryption, digital signatures, hashing and key derivation. To get the most from this presentation, it is expected that you have a basic understanding of cryptography. |
Podcasts
Voices of the ElePHPant - Interview with Rob Allen
This week Cal Evans spoke to Rob Allen, PHP and Zend Framework expert.
Three Devs and a Maybe Podcast - Hexagonal Architecture (Ports and Adapters) with Matthias Noback
Discussion on good architectural design within software and Hexagonal Architecture.
That Podcast Episode 55: The One with Nicolas Steenhout and #a11y
Because accessibility is where it is at.
MageTalk Magento Podcast #183 - “How Do You Pronounce Pecan?”
What does a well-written mission statement look like? What is the purpose of an organisation? How do you define your purpose? These are all questions we take a look at when reviewing what the new Magento Association is all about. Listen now!
PHP Round Table Podcast 81: PHP-FIG 3.0
There have been lots of big changes happening with the PHP-FIG. Today we chat with a number of figgies to get the inside scoop on what has changed and also get a glimpse inside of the latest accepted standard, PSR-18: HTTP Client Interface.
The Laracasts Snippets Episode 88: Remote Contractor Workflow Q&A
In this episode, line by line, I'll answer a recent question related to remote contractors. We'll discuss choosing an applicant, tips for getting the job, tooling, workflow and more.
North Meets South Web Podcast Episode 51: Vue Transitions, File Uploads and Conventional Wisdom
Jake and Michael record a live episode, and discuss Vue transitions, file uploading, and share some conventional wisdom.
PHP Web Development Podcast Ep #25 - Minds.com V/s Facebook
In our last episode, Mark Harding will be talking Minds.com and how they are different from Facebook. He will also talk about the kind of people they are looking to hire. |
The Month in WordPress: November 2018
WordPress 5.0 is almost ready for release, including an all-new content editing experience. Volunteers all across the project are gearing up for the launch and making sure everything is ready. Read on to find out what’s been happening and how you can get involved.
php[architect] Magazine December 2018 - Better Practice
Practice and more practice are the keys to adopting modern software engineering practices. It doesn’t matter if you’re using WordPress or Drupal to manage website content, trying to learn unit testing, get hired, or looking for better ways to manage date and time data—there’s always an opportunity to learn how to do it better. This issue rounds up articles on each of these topics to help you deepen your problem-solving skills.
A Week of Symfony #622 (26 November - 2 December 2018)
This week, Symfony 2.8.48 (the last one in the 2.x branch), 3.4.19 and 4.1.8 maintenance versions were released. In addition, the first stable version of Symfony 4.2.0 was published. Meanwhile, SymfonyCloud was unveiled as a fully-managed platform created for Symfony developers. SymfonyCloud will be fully introduced next week, during the SymfonyCon Lisbon 2018 conference.
2018 Laravel Survey
Over 1,500 of you took the Laravel survey! Below we’ve published the results along with some additional analytical analysis and a subset of the replies we received to the open ended questions.
Failing Gracefully On Stage
Here's a video of Surma having technical problems while presenting his State of Houdini talk. Luckily Jake Archibald and others "help" him out 😀 |
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 [email protected] |
Interesting Projects, Tools and Libraries
api-generator
PHP-code generator for Laravel framework, with complete support of JSON-API data format.
easyengine
Command-line control panel for Nginx Server to manage WordPress sites running on Nginx, PHP, MySQL, and Let's Encrypt.
ext-decimal
Correctly-rounded, arbitrary precision decimal floating-point arithmetic in PHP 7.
phpinsights
An easy-to-use API Wrapper for Googles PageSpeed Insights. The JSON response is mapped to objects for an headache-free usage.
koala-framework
Framework and CMS based on Zend Framework and ExtJS.
qcubed
QCubed (pronounced 'Q' - cubed) is a PHP Model-View-Controller Rapid Application Development framework with support for PHP5 (5.4 and above) and PHP7.
ares
Download information about customer via his IN.
laravel-goutte
Laravel 5 Facade for Goutte, a simple PHP Web Scraper.
una
UNA is a CMS - Community Management System - a full-stack web platform for creating and running a community website.
textpattern
A flexible, elegant, fast and easy-to-use content management system written in PHP.
ccxt
A PHP cryptocurrency trading library with support for more than 110 bitcoin/altcoin exchanges.
uxdm
UXDM helps developers migrate data from one system or format to another. |
Please help us by clicking to our sponsor:
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?
|
|