Hello to the PHP community, and welcome to PHPweekly.com.
Several Symfony releases this week including 4.2.9 and 4.3.0-RC1 with a list of various changes.
The maintenance release for WordPress 5.2.1 is also now available.
Laracon AU has recently been announced, taking place over two days in Sydney later in the year. The Call for Papers is open now.
Plus Cal Evans interviews Tim Bond in the latest Voices of the ElePHPant podcast.
And finally, the Drupal Community Working Group Review Panel is now comprised of three elected members, settled at the beginning of this year. Meet the members here.
Have a great weekend,
Cheers
Katie and Ade |
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
GitHub Sponsor Beta Program
GitHub announced their Sponsors program to enable GitHub users to support open-source maintainers and contributors. According to GitHub’s announcement, the program is a new way to show support for open-source developers.
Managed Hosting vs. Unmanaged Hosting
In website creation and management, a new user would most likely use a shared server, meaning that they know very little about hosting management, which is acceptable at this level. Managed or unmanaged hosting starts to apply when a user wants access to the fundamentals such as dedicated servers and VPS hosting serves.
Best Free Web Hosting Sites From Across The Internet
Starting a website has never been easier than it is today. But with all the options out there, it can be tough to find the best free web hosting service that's perfect for you. That's where we come in. We found the best free web hosting companies and nailed down what makes them better than others.
AMP for WordPress: Know Why It Really Matters!
Since mobile phones are rapidly dominating the way users consume content on the web, it is crucial to optimise your web pages for mobile devices. In this article, I will talk about what AMP is, and how you can configure AMP for WordPress websites.
Cheap WordPress Hosting Costs 30x More Than You Think (See the Math)
As someone who has been in the web hosting industry for years, specifically WordPress hosting, it got me thinking. If people understood the economics of web hosting companies and how they really operate, would their expectations change? Or would they still go after the dirt cheap WordPress hosting providers? |
Tutorials and Talks
PHP: Setters and Getters Have Died
PHP is very flexible, but sometimes developers don’t want to allow too much flexibility into their libraries for sake of properly using their software as intended. Getters and Setters are part of control. Their purpose is (or rather was) very clear: only allow a certain type of variable to be set inside the Class, and retrieve something the developer (safely) expects.
Hidden Gems of PHP Packages: Psalm Fixing Your Code
Psalm is a static analyser of PHP code originated at Vimeo and developed by Muglug. It can analyse your code for incorrect type declarations or unused code. But did you know it can automatically fix these issues?
1-Click Push N’ Pull Changes: A WordPress Staging Environment That Users Love to Use!
Developing a WordPress website on a staging environment is an excellent idea for building and testing changes without affecting the live website.
Code a Burger Menu for Mobile Users in WordPress
There are plugins that will turn your main navigation menu into a burger menu in WordPress (including those on Code Canyon), but what if you want to code one into your own theme? In this tutorial, you'll learn how.
PSR-14: Example - Layered Caching
So far we've looked at a number of complete, practical examples of using PSR-14 Events in various ways, both conventional and unconventional. In our final (probably) installment, I want to offer a highly unconventional but still practical use of PSR-14 that really shows off just how flexible Events can be: Layered caching.
426 Upgrade Required
The 426 Upgrade Required status code is used when a server wants to tell a client that they should be using a newer version or different protocol to talk to the server.
PHP Session Locking and cURL Timeout Error
Although PHP sessions seem to be pretty straightforward on the first sight, underestimating their complexity can lead to some hard to track problems. One of such things is session locking mechanism. It’s purpose is noble – protect session data from being overwritten by other instances of the same or other scripts running at the same time.
Caching the Entire Response of a Laravel App
When a request comes in your app will return a response. To create that response, your application has to do some work. Most likely queries will execute. This all takes some time. Wouldn't it be nice if the same request comes in, we can return the response the application has constructed previously?
Exceptional Exceptions
You've made it to this post thinking "Why do we still need to talk about Exceptions?". Well, they're used everywhere in OOP codebases, but sometimes they're used in a way that make debugging a bit difficult. Let's look at some ways to make debugging exceptions a bit more fun!
Calculating Totals in Laravel Using Conditional Aggregates
I was asked recently how to calculate multiple totals (aggregates) in Laravel in the most efficient way.
Create Beautiful Forms With PHP Form Builder
If you are a PHP developer, creating forms, validating form submissions, and managing PHP sessions are probably tasks that are part and parcel of your job. All these tasks, although rather repetitive, require lots of time and attention, especially if you care about best practices relating to design and security.
Tips for Laravel Performance Optimisation
Since its release in 2011, Laravel has become popular choice for the development of business focused applications. One reason Laravel is much too popular in developers is its performance optimisation that allows developers to fine tune Laravel based apps. In this tutorial I will guide on how to optimise Laravel based application when in production. |
News and Announcements
Symfony 3.4.28 Released
Symfony 3.4.28 has just been released with a list of the most important changes.
WordPress 5.2.1 Maintenance Release
WordPress 5.2.1 is now available! This maintenance release fixes 33 bugs, including improvements to the block editor, accessibility, internationalisation and the Site Health feature introduced in 5.2.
Laravel Views Now Support html as a File Type in v5.8.18
The Laravel team released Laravel 5.8.18 with HTML as a valid extension option for views. With this release, you can pass a path to an HTML file which will not be compiled but rendered as-is - similar to how rendering a file with a .css extension works.
SymfonyLive Warszawa June 11-14th 2019, Poland
Come for the conference to learn all about the latest developments with Symfony, share best practices, experience, knowledge and make new contacts with the great Symfony community from Poland! All talks will be in Polish, except for the Keynotes, which will be in English. Tickets are on sale now.
PHP Internals for the Inquisitive Developer - Online Webinar September 10th 2019 11:00 AM EDT
Even if you have no intention of becoming a PHP core developer or creating a PECL extension, cursory knowledge of PHP's inner workings can prove useful. This session will examine the lifecycle of a PHP request and equip you with essential knowledge and tools that can be used to diagnose the occasional segfault or language bug, decipher what a poorly documented SPL class actually does, and confidently answer why a PHP or C implementation is most warranted for a given problem.
Laracon AU - October 31st-November 1st 2019, Sydney
Two amazing days of learning, growing, and mingling with the Laravel community. The Call for Papers is now open.
Nomad PHP EU - June 20th 2019 11:00 PDT
The Dark Corners of the SPL, presented by Omni Adams. PHP is a huge language, with lots of "kitchen sink" functionality for you to build data structures with. But did you know PHP includes a standard library that has built-in structures like linked lists, queues, stacks, and higher-performance arrays? This talk will cover a few of the more interesting ones in depth, including how to use them and most importantly why you'd use them over other solutions.
Nomad PHP US - June 20th 2019 06:00 PDT
Double Loop: TDD & BDD Done Right, presented by Jessica Mauerhan. Do you TDD or BDD? Why not both? Come learn the "Double Loop" workflow and discover how you can use both Behavior Driven Development and Test Driven Development to write well designed, tested and documented code. Double Loop works for lone engineers, small teams or entire product departments. I'll cover the steps you'll take in the workflow in detail with best practices for behaviour testing, integration testing and unit testing.
|
Podcasts and Vlogs
Voices of the ElePHPant - Interview with Tim Bond
Cal Evans and Tim Bond talk about PHP, Xdebug and biking to work.
PHP Internals News Episode 11: Parallel Extension
In this eleventh episode of "PHP Internals News" I talk with Joe Watkins (Twitter, Patreon, Website, GitHub) about his parallel extension.
The Laracasts Snippets Episode 99: The jQuery Influence
I recently made a bittersweet commit that removed jQuery from the Laracasts codebase entirely. Let's discuss how important the library has been to the JavaScript ecosystem as a whole.
PHP Ugly Podcast #152: A Short Controversy
This week Eric, Thomas and John discuss various topics including Visual Studio Code Tips and Tricks.
Beachcast Tech Videos 016 - Behat For Beginners Functional REST API Testing Tutorial
Adam Culp of Beachcasts programming videos walks through a php tutorial on how to install Behat, a PHP framework for Behavior Driven Development. Then he creates BDD tests to test a REST API using GuzzleHttp from within Behat. This allows easy api testing through test automation, and behaviour driven development for software testing. |
A Week of Symfony #646 (20-26 May 2019)
This week, Symfony 4.3 beta2 version was released to better prepare for the final Symfony 4.3 release of the next week. Meanwhile, work on Symfony 4.4 (to be released on November 2019) started with the addition of Redis Sentinel support in Cache and LTS config information in the profiler.
Announcing the Drupal Community Working Group Review Panel
The Drupal Community Working Group (CWG) consists of volunteers who help promote the health of the Drupal community; maintain and uphold the Drupal Code of Conduct; and act as an escalation point to help mediate conflict between community members.
Security Newsletter Issue 130
A weekly e-mail keeping you up-to-date with security news, with about 10 items in every issue.
An Early Look At Some PHP 7.4 Performance Benchmarks
The initial PHP 7.4 Alpha 1 release is just two weeks away already... Curious about the performance of this yearly update to PHP7, I ran some benchmarks on the latest development code as of this morning compared to the earlier PHP7 releases and even PHP-8.0 that is in development on Git master.
Kinsta Kingpin: Interview with Omar Reiss
Omar Reiss is Partner and CTO at Yoast and WordPress Core contributor. He’s also WordCamp speaker and plugin developer. You can find him on Twitter and other networks. We reached him at WordCamp Torino, where he had an interesting speech about the future of WordPress.
PHP Extensions Status With Upcoming PHP 7.4
With PHP 7.4 entering stabilisation phase, time to check the status of most commonly used PHP extensions (at least, the ones available in my repository). Here is the (not yet) exhaustive list. |
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
geonames
A Laravel (php) package to interface with the geo-location services at geonames.org.
nervsys
A very slight framework based on PHP7.2+ for universal API controlling.
neard
Portable WAMP software stack involving useful binaries, tools and applications for your web development.
queryphp
QueryPHP is a modern, high performance PHP 7 resident framework, with engineer user experience as its historical mission, let every PHP application have a good framework.
fasterimage
Find the size of an image without downloading the whole file. Supports batch requests.
larapush
Deploy your codebase into your web server with one Laravel artisan command.
laravel-zero
A PHP framework for console artisans.
composer-git-hooks
This command line tool makes it easy to implement a consistent project-wide usage of git hooks.
studio
This package makes it easy to develop Composer packages while using them.
asset
Asset Component is a port of Laravel 3 Asset for Orchestra Platform.
qr-code
This library helps you generate QR codes in a jiffy.
zephir
Zephir is a compiled high level language aimed to the creation of C-extensions for PHP. |
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?
|
|