Hi there PHP fans.
Are you looking to recruit new staff?
Looking for a high standard of applicant?
Would you like to reach out to the PHP Community to fill your position?
Where better to advertise your job openings then on phpweekly.com?
Do you want to entice new talent, or new business, to your business?
How about sponsoring an edition of phpweekly.com?
A stand out advert at the top of our page will catch the eyes of our subscribers.
With our subscriber list nudging 15,000, you could just find exactly who, or what, you are looking for right here.
For more information drop me a line at [email protected].
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
Browser Tabs Are Probably The Wrong Metaphor
Back when Internet Explorer was dominant, and every developer I knew installed Firefox on every family member and their dogs desktop, I remember a big selling point for convincing people to use Firefox was ‘Tabs’. Firefox may not have been the first browser to introduce tabs, but in my experience it was the number one selling point to get people to switch. Especially those that otherwise didn’t care about Internet Explorer being dominant and stagnating the web.
MyBB <= 1.8.20: From Stored XSS to RCE
This blog post shows how an attacker can take over any board hosted with MyBB prior to version 1.8.21 by sending a malicious private message to an administrator or by creating a malicious post. We use a chain of two security vulnerabilities detected in the code.
Public Data Release of Stack Overflow’s 2019 Developer Survey
Last month, we published the results from Stack Overflow’s 2019 Developer Survey, and today you can access the data from this year’s survey for yourself.
How to Manage a Successful Web Design Business
Owning a web design business gives you the freedom to create your schedule and work with clients who spark your creativity. However, there is also a lot of competition out there, and making a web design biz successful takes a lot of effort and knowledge.
|
Tutorials and Talks
Binding Relevant Models to Routes in Nested Laravel Resources
Route model binding is a great and well-known feature of the Laravel framework. But, when we work with nested resources, we might write a custom rule explicitly that ensures the child models can be load with the correct parent model. Let’s see!
How to Create a WordPress Child Theme
If you're using a theme you downloaded from the free WordPress theme repository, or maybe one you've bought from ThemeForest, you may want to make some tweaks to it.
How to Host PHP on Amazon AWS EC2
Today in the modern business world, when companies are weighing in to cut down costs and maximize efficiency, people are searching for more effective ways to manage their hosting requirements. That is why, technological advancements have led to newer inventions, and today PHP Amazon cloud hosting has become the need of the hour.
How to Restrict Payment Method by Customer Groups in Magento 2
Online merchants demand different features to cater their different regional customers. For example, if a merchant offers Cash-On-Delivery (COD) for all local orders, the method cannot be used for international customers who make purchases overseas. The same goes for wholesalers who purchase orders in bulk. In other cases, some payment gateways involve certain taxes and fees in different regions which the merchant cannot afford. For all these issues, optimising payment method becomes imperative for the customer.
How to Change a WordPress Theme (Without Breaking Your Website)
Changing your WordPress theme only takes a few moments (if you overlook how long it takes to choose one). However, if you want to do it safely, switching themes becomes more involved. After all, your active theme is so ingrained into your site’s functionality that the change has the potential to break it.
Rhythmbox XML Parsing to Copy Playlists to Phone or USB Stick
I was recently faced with the issue of physically moving all the songs I’d given five stars in Rhythmbox to a phone. As it happens that stuff is stored in an XML file (at least the version I’m using in Ubuntu 16.04). This is my PHP solution.
429 Too Many Requests
If a service wants to limit the amount of requests clients make, they can use the 429 Too Many Requests status code to inform the client that they’ve exceeded it.
Building a GraphQL Server with Laravel
In case you’re still not familiar with it, GraphQL is a query language used to interact with your API which provides some benefits compared to alternative architectures such as REST. In this tutorial, I will show you how to create your own GraphQL server using Laravel.
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?
Tests and Types
Imagine a simple function: rgbToHex. It takes three arguments, integers between 0 and 255; and converts it to a hexadecimal string.
Speed Up Composer With Prestissimo
Prestissimo is a composer plugin that downloads packages in parallel to speed up the installation process.
Create a Google Login Page in PHP
In this article, I’m going to explain how to integrate Google login in your PHP website. We’ll use the Google OAuth API, which is an easy and powerful way to add Google login to your site.
A Package to Control The Flow of Time
Imagine you're building that your app can notify your user, but you don't want to send more than one notification is a timeframe of five seconds. How are you going to test the time aspect? Do you have to create a test that takes five minutes? |
News and Announcements
Symfony 4.3.1 Released
Symfony 4.3.1 has just been released with a list of the most important changes.
Joomla 3.9.8 Release
Joomla 3.9.8 is now available. This is a bug fix release for the 3.x series of Joomla which addresses one bug introduced into 3.9.7 which affects web sites using the French Help Server.
Git Stash and Rebase in GitHub Desktop 2.0
GitHub released GitHub Desktop 2.0, the next major version of their Git GUI client. This release includes two of the most requested features: stashing and rebasing.
PHP Conference Asia - June 24-26th 2019, Singapore
The fourth pan-Asian PHP conference will take place from 24th to 26th June 2019 in Singapore - the Garden City of the East! This is a single track, 2 days Conference (24th to 25th June 2019). Followed by 1 Workshop Day on 26th June 2019. Come and meet with the fastest growing PHP communities in Asia. More than 200 attendees are expected at this single track conference. Tickets are on sale now.
Mid-Atlantic Developer Conference - August 1st-2nd 2019, Baltimore
Mid-Atlantic Developer Conference 2019 is a tech conference designed to bring programmers from the region together, regardless of their choice of platform, for two full days of learning and community building. Tickets are on sale now.
CoderCruise - August 19th-23rd 2019, Ft. Lauderdale, FL
Tired of the usual web technology conference scene? Want a more inclusive experience that lets you get to know your fellow attendees and make connections? Well, CoderCruise was designed to be just this. It's a polyglot developer conference on a cruise ship! This year we will be taking a 5-day, 4-night cruise out of Port Canaveral, FL that includes stops at Princess Cays and Nassau. Tickets are on sale now.
Cascadia PHP - September 19th-21st 2019, Portland
Cascadia PHP’s focus is to foster community. We want you & every other participant at our conference to feel included & welcomed. We don't only touch on PHP topics, we also cover important things like Mental Health, the latest JavaScript and CSS techniques, soft skills and more. Early Bird tickets are on sale now.
ScotlandPHP Conference - 8-9th November 2019, Edinburgh
Join the worldwide PHP community for the fourth ScotlandPHP conference later this year. There will be at least 14 talks presented across 2 tracks, along with 4 workshops, to help you enhance your current skills and find out what's next for PHP and beyond. Blind Bird Tickets are on sale now.
|
Podcasts and Vlogs
PHP Internals News: Episode 13 - Release Management
In this thirteenth episode of "PHP Internals News" I talk with Sara Golemon (Twitter, GitHub) about PHP's Release Management.
Voices of the ElePHPant: Interview with Matthew Setter
Cal Evans and Matthew Setter sit down and talk about technical writing and raising kids.
MageTalk Magento Podcast #197 - “I Bet You Expected An Imagine Recap”
The boys discuss Kalen's sabbatical and recent trip to Canada, Magento's upmarket trajectory, and a possible change in what we call PWAs. There also might be some Imagine recaps in there somewhere...
The Five-Minute Geek Show Podcast Episode 110
Figure out the values, then make the choice according to your values.
The Laracasts Snippets Episode 100 - Gamification
The subject of this week's episode is gamification. I'll begin by gushing over Outer Wilds, and then move on to discussing the pros and cons of general gamification elements in web apps and schools.
PHP Ugly Podcast #154: Great Chemestry
This week Eric, Thomas and John discuss The State Of PHP Today - DEV Community.
PHP Web Development Podcast EP#41 - TDD with Mark Bradley Principle Software Engineer Sainsbury’s
In this episode, we will be covering TDD. Writing tests before you write production code can be an intimidating concept, but there is no need to be scared. During this talk we will look at the concepts of Test Driven Development and what it takes to write tests first.
Beachcast Tech Videos 018 - Getters and Setters Accessors in Object Oriented Programming
Using getter and setter accessors in OOP PHP projects. (see shortcuts below to key points) Adam Culp of Beachcasts php programming videos shares some good and bad points about using getters and setters in object oriented programming, and shows how to automatically create them from within PhpStorm. |
php[architect] Magazine June 2019 - How to Tame Your Data
The firehose of data grows daily, and we’re continually looking for tools to help us sort it, filter it, and manage it ever expanding rates. In this issue, we’ve collected programming techniques, database and operational tools to keep it all manageable.
Security Newsletter Issue 132
A weekly e-mail keeping you up-to-date with security news, with about 10 items in every issue.
A Week of Symfony #649 (3-9th June 2019)
This week, Symfony 4.3.1 maintenance version was released. Meanwhile, the upcoming Symfony 4.4 version added a PasswordEncoderInterface::needsRehash() method and a MigratingPasswordEncoder to ease the migration of password hashers. Finally, the upcoming Symfony 5.0 version continued removing all the deprecated features.
Live refactor: Contributing to Open Source
In this video Jason McCreary creates a PR that adds a null driver to our laravel-newsletter package.
Giving and Receiving Feedback
At the hackathon in Brussel, CARE team member Michelle pointed out that the bulk of the incidents noted in the CARE team transparency report for 2018 revolved around code reviews on GitHub. In some situations discussions failed to remain productive and escalated for the worse. We want to take the time to highlight some of the best practices in the Symfony documentation to help prevent such issues in the future.
New Course: Build an App With GraphQL, Laravel and Vue
If you want to learn about a useful new web API that offers a more dynamic and robust API for fetching and submitting data, try our new course, Build an App With GraphQL, Laravel and Vue.
How Much Money Do WordPress Developers Make?
That and more insights on the life of a WordPress developer in our first ever industry report. |
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
irc-bot
A simple and modular PHP IRC bot.
luya
LUYA is a scalable web framework and content management system with the goal to please developers, clients and users alike.
bingo-functional
A simple functional programming library for PHP.
fork-helper
A PHP helper to fork processes and allow multi-threading.
phpipam
phpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application.
wolff
Wolff is a ridiculously small and lightweight PHP framework with useful functions and utilities like a route, template, extensions and language system.
betterreflection
Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
socket
Non-blocking socket and TLS functionality for PHP based on Amp.
easyappointments
Easy!Appointments is a highly customisable web application that allows your customers to book appointments with you via the web. Moreover, it provides the ability to sync your data with Google Calendar so you can use them with other services.
uri
The Uri package provides simple and intuitive classes to create and manage URIs in PHP.
postfixadmin
An open source, web based interface for managing domains/mailboxes/aliases etc on a Postfix based mail server.
fink
Fink (pronounced "Phpink") is a command line tool for checking HTTP links written in 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?
|
|