Desperate for a change!!
Hi everyone. As many of you know, PHP Weekly has been a labour of love for both Ade
and myself over these past 5 years. In fact this weeks edition is the 250th!
In all the time that we have been running, we have only missed one week! We do receive
emails from people to say how bad, terrible and unpleasing our design is, that the
mail doesn’t work responsively and many more - always in a positive way, of course!
We are looking to improve the design and to add some more features both to the
mailer itself as well as the website. Some of what we are thinking are:
- An improved design on the site
- An improved mailer, possibly with different sections to what we have now
- Job posts on the site (which will also flow into the mailer)
- Limited sponsored posts, we still want to keep the content as pure as we can, but
we do need to make enough money to keep this going!
We will probably put some of the designs online for people to vote, but what else
would you like to see from PHP Weekly? What would really benefit you? Is there a
site that you use which you would suggest as being really inspirational for us?
We would really like to have some suggestions from you. If you can email
[email protected] with any ideas or suggestions - or just general comments -
it would be wonderful.
Thanks for supporting us.
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
A Threnody For Silex
Silex is dead. I am sad. But I can see the future, and it is bright.
Has Drupal 8 Usage Hit a Tipping Point?
It wasn’t a question of if, but a question of when and the Drupal.org weekly usage statistics are showing it’s happening now. Usage of Lingotek’s Drupal 8 Module finally caught up to and exceeded that of Drupal 7. Is this the tipping point? Is the community finally making the switch to the latest Drupal module?
Compliance-Driven Development or the Story Behind Swiftype’s SOC2 Certification
Based on my experience, just a decade ago not many people within the Silicon Valley startup community considered compliance an important stepping stone in a company’s development roadmap. And when it came to compliance for startups, it was nearly synonymous with PCI/DSS — mandatory certification used by the credit card industry. Over the last few years though, the rise in the number of startups working with large amounts of private and confidential data (fintech, healthcare, etc) and subsequently the rise in the magnitude of data breaches, led our industry to accept the idea that compliance and certifications are not just for the “big guys”. Nowadays, even very small companies are pressed to go through formal certifications if they want people to trust them with private or confidential data.
Returning From Command Buses
The most common question I get about my command bus library is: “can commands really return nothing?” The second most common question is “Why do you let commands return something, don’t you know that’s Wrong(tm)?”. It’s easy to get hung up on form, not function. That’s a shame because command buses aren’t important. In the grand scheme of things, they’re completely, utterly, totally unimportant. It’s all about where the messages are going, not how they get there. Still, let’s take a look at some myths about command buses. |
Tutorials and Talks
How to Switch Your WordPress Site from HTTP to HTTPS (with a little help from WP Migrate DB Pro)
If you’ve been reading our blog for a while, you might have seen Brad’s post on setting up Let’s Encrypt on a server to get a free SSL certificate. While it’s super easy and free to get an SSL certificate these days, there are likely a few more tweaks that you’ll need to get your WordPress site running well over HTTPS after installing the certificate. Luckily most of this is pretty easy and can be done with a few tweaks to the wp-config.php file and with the WP Migrate DB Pro find & replace feature. We’ll be doing just that in this quick tutorial.
Keep Your YAML Files Sorted with YAML Sort Checker
Last year I've created a PHP tool YAML file sort checker that checks that YAML files in project are sorted alphabetically.
Managing ReactPHP Promises
Asynchronous application is always a composition of independently executing things. In concurrency, we are dealing with a lot of different things at once. You can compare it with I\O driver in your OS (mouse, keyboard, display). They all are managed by the operating system, but each of them is an independent thing inside the kernel. So, to make concurrency work you have to create a communication between these independent parts to coordinate them. And here come promises. They are the basic unit of concurrency in an asynchronous application. They are the blood of the asynchronous application and move the results between different tasks across the code. Sometimes it may be one single promise passed around between components, but you definitely will face the situation when you have to deal with several promises at once. Let’s look at a few such examples.
PHP Sessions in Depth
PHP Sessions are often taken for granted. A session is a magic array which persists across page loads and holds user-specific data. It’s a fantastic and integral part of most web applications. But when misused, sessions can cause substantial security holes, performance and scalability problems, and data corruption. A deep understanding of sessions is vital to production web development in PHP.
Keep An Eye On The Churn; Finding Legacy Code Monsters
Code complexity often gets measured by calculating the Cyclomatic Complexity per unit of code. The number can be calculated by taking all the branches of the code into consideration.
Use OpenCart To Power Your Ecommerce Store
There are plenty of platforms in the realm of the ecommerce industry. However, if you want to build a fully featured ecommerce store without spending too much time, OpenCart is one of the choicest options available in the market. The PHP-based online store management system is widely popular among online stores.
HelloSigns Developer-Friendly API Fits Into Your Document Workflow
HelloSign is a service that web sites may use to create documents that can be signed digitally. Read this article to learn how it works.
How I Redesigned My Blog and Moved It From Jekyll to Laravel
One of my resolutions for 2017 was to redesign my blog. One week before the new year I faced myself with the challenge and thought to myself if this was still doable. Somehow I managed it and here it is. In this article I will explain the process and show you how I redesigned the blog with Tailwind CSS and moved it from Jekyll to Laravel with keeping almost the same performance.
PHP Assertions and Their Usage
PHP has a clever native debugging tool : the PHP assertions. In a nutshell, assertions are a functioncall to assert(), that triggers an error when a condition is not satisfied.
Where a Curly Bracket Belongs
Dedicating a whole blogpost to curly brackets might seem like overkill but I believe it's worth thinking about them. Not just because of one curly bracket, but because there's a bigger message in all this. Thinking about how we read and write code not only improves the quality of that code, it also increases our own and others ease of mind when working with it. It can improve the fluency of your work and free your mind to think about real important stuff. You know, things like "application logic" for example.
Closures, Anonymous Classes and An Alternative Approach to Test Mocking (Part 4)
In a prior article in this series, I described the use of a SpyMaster Class to create proxy spies as anonymous classes, that allow external visibility (and potentially update) of protected and private properties within an object. The same basic principle of a spy can also be used to create a proxy that gives us access to execute the private and protected methods of an object.
Creating ZIP Files and Streaming The Response with Silex
Creating a zip file is easy and Rob Allen has you covered on that front to get you started. I needed to do this to create a zip file of PDF files generated by Dompdf. It turns out, you can add files to a ZipArchive object without actually creating the file if you can get the contents as a string.
Install Microsoft SQL Drivers for PHP 7 in Docker
I started a project recently that required that I connect a Microsoft SQL Server database with a Laravel 5.5 application, so I thought I’d document how I install the pdo_sqlsrv module and install the Microsoft drivers for PHP in Docker.
API Authentication in Laravel-Vue SPA using Jwt-auth
Laravel is the fastest growing PHP framework and is used by thousands of developers around the globe to rapidly build robust web applications. Vue on the other hand is a lightweight front-end framework that can be used to build sophisticated Single-Page Applications. This tutorial will walk you through the process of providing authentication for your vue Single Page Application (SPA) to be able to access API endpoints in laravel requiring authentication.
How to Install and Optimize Apache on Ubuntu
This is the beginning of our LAMP tutorial series: how to install the Apache web server on Ubuntu. These instructions should work on any Ubuntu-based distro, including Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, and even non-LTS Ubuntu releases like 17.10. They were tested and written for Ubuntu 16.04. Apache (aka httpd) is the most popular and most widely used web server, so this should be useful for everyone.
PHPUnit: What, Why, How?
This is a brief introduction to Unit Testing with PHPUnit and is based on a lightening talk I gave at Sheffield PHP on the 18th January 2018. We’ll take a look at what unit testing and PHPUnit are, why we would use them and finally look at how we can start writing tests.
PHP 101: Working With Arrays
This week in our continuing series on PHP 101 we will explore some useful functions for working with arrays. Arrays are an incredibly useful data structure for storing multiple pieces of information. They allow for easy and relatively quick recall of information by referencing an item’s index.
Handling Amazon SNS messages with PHP, Lumen and CloudWatch
This days I’m involve with Amazon’s AWS and since I am migrating my backends to Lumen I’m going to play a little bit with AWS and Lumen. Today I want to create a simple Lumen server to handle SNS notifications. One end-point to listen to SNS and another one to emit notifications. I also want to register logs within CloudWatch. Let’s start.
Developing A Command Bus in PHP
In this series of blog posts I’ll be developing a PHP library with a Command Bus, Command Handling and Subscription features. The main goal of this series is to describe the entire process of developing such a composer package, including making it available on Packagist and implementing it in Laravel through a separate package. |
News and Announcements
WordPress 4.9.2 Security and Maintenance Release
WordPress 4.9.2 is now available. This is a security and maintenance release for all versions since WordPress 3.7. We strongly encourage you to update your sites immediately.
HHVM 3.24 is Released!
This release contains new features, bug fixes, performance improvements, and supporting work for future improvements. Packages have been published in the usual places.
Team Discount – 20% on Premium
Are you working in a dev team where several developers would need Blackfire? This discount is made for you.
AWS Service Provider for Symfony v2 with Support for Symfony v4
Version 2.0.0 of the AWS Service Provider for Symfony has been released with support for Symfony v4. You can upgrade through Composer using the following command.
Sunshine PHP Conference - 8-10th February 2018, Miami
The SunshinePHP Developer Conference is hosted by the South Florida PHP community (SoFloPHP) in Miami, Florida from February 8th - 10th, 2018, and you're invited! We'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP. And don't forget our Hack-a-thon and Uncon'ference, as well as a great hallway track! The conference has something for every level of PHP developer. We start on February 8th with a full day of 8 PHP related tutorials and workshops that are each 3 hours of in-depth information. Next we follow that with 2 days on February 9th and 10th containing 5 keynotes and 40 PHP talks over 4 tracks. Tickets are on sale now.
PHP UK Conference - February 14-16th 2018, London
PHP UK is pleased to announce the 13th Annual PHP UK conference; a 2-day event with 3 great tracks held at The Brewery, in the heart of the City of London. With over 700 delegates, speakers, and sponsors, PHP UK conference aims to deliver fantastic up-to-date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss. Early Bird Tickets are on sale now.
International PHP Conference - June 4-8th 2018, Berlin
The International PHP Conference is the world’s first PHP conference and stands since more than a decade for top-notch pragmatic expertise in PHP and web technologies. Internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Here is the place where concepts emerge and ideas are born - the IPC signifies knowledge transfer at highest level. All delegates of the International PHP Conference have, in addition to PHP program, free access to the entire range of the webinale taking place at the same time. Early Bird tickets are on sale now.
Dutch PHP Conference - June 7-9th 2018, Amsterdam
Ibuildings is proud to organize the eleventh Dutch PHP Conference on June 8th and 9th, plus a pre-conference tutorial day on June 7. Both programs will be completely in English so the only Dutch thing about it is the location. Keywords for these days: Know-how, Technology, Best Practices, Networking, Tips & Tricks. The target audience for this conference are PHP and Mobile Web Developers of all levels, software architects, and even managers. Beginners will find many talks aimed at helping them become better developers, while more experienced developers will come away inspired to do even better and with knowledge about the latest tools and methodologies. The Call for Papers is open until Sunday. |
Podcasts
Three Devs and a Maybe Podcast - Web Application Security, Part 1 with Scott Arciszewski
In this weeks episode we chat with Scott Arciszewski about all things Security and Cryptography. We start off the show by explaining how he got interested in this field of work, correcting PHP security related answers on Stack Overflow and why he focuses on PHP security. From here, we move on to highlight what the OWASP Top Ten is, how you can distill many security principles into data/code seperation and what is involved in a software audit. This leads us on to discuss what HTTPS actually is, touching on TLS, PKI’s, Ciphersuites, and reported attacks against TLS and ECB. Finally, we highlight some important browser security features that can be used, pushing new software releases in a secure manor, thoughts on Cryptocurrencies and how everyone wants to solve their problem with a blockchain at this time.
Changelog Podcast #280: Building a Secure Operating System with Rust
We talked with Jeremy Soller, the BDFL of Redox OS, a Unix-like Operating System written in Rust, aiming to bring the innovations of Rust to a modern microkernel and full set of applications. In this episode we talk about; OS design principals, Jeremy's goals for Redox, why is Rust, the Micro-kernel, the Filesystem, how Linux isn't secure enough, how he's funding this his development, and a coding style in Rust called Safe Rust.
MageTalk Magento Podcast #157 - “We Shan’t Speak About Monrovia”
First episode of 2018 means reviewing community predictions! Kalen moves to Austin, Mage2.TV launches; new agency talent and what the heck is a neural network?
Laravel News Podcast LN53: Balloons and Double Encoding and Bootstrap, Oh Dear!
Jake and Michael discuss Laracon announcements, new framework features, model caching, and more.
LaraChat Live - Episode #36: Vancouver PHP - Taylor Otwell Q&A
Q&A session with Taylor Otwell.
The Laracasts Snippets Episode 77: Top Of The Pack
You've seen the same headline all over the web: "This one technique can triple your income overnight." Really? And I only have to click through your article, split into fifteen pages full of ads? Where do I sign up!? But what if there was a simple technique to drastically improve your chances in the job market?
PHP Ugly Podcast #91: We Push The Wrong Button
Topics include playing with docker, and determining the pay scale for remote workers.
php[podcast] Episode 6 - Setting Up To Succeed
A look at the Setting Up to Succeed issue for the month of January 2018 issue featuring articles to start the new year right. Share your thoughts on the topics covered and leave a comment below.
Post Status Draft Podcast - Two Brians Are Better Than One
In this episode, Brian Krogsgard chats with Brian Richards, creator of WPSessions and new co-host of the Draft podcast. |
Using Laravel Collections Outside Laravel
Presented by Oliver Davies. Laravel Collections are a powerful object-orientated way of interacting with PHP arrays, but did you know that they can be used outside of Laravel, in any PHP project? This short talk shows how we can use Composer to include Laravel Collections within a non-Laravel project and put them to use within your own code.
Why Now is The Right Time to Move to Drupal 8
Drupal 8 has reached a tipping point. The open-source content management system (CMS) is stable, fully-featured, and equipped to help organisations navigate content delivery to new channels and content-consuming devices. So could it be right for your business? Here Inviqa CTO Richard Jones (who literally 'wrote the book' on Drupal 8) discusses everything worth considering if you’re thinking about a move to Drupal 8.
Cloudways Interview - Jonathan Aufray On Growth Hacking, Startup Lessons, And Impact Of AI
You really need to be lucky to get a response to an email which was sent without a subject line. When I sent an interview invitation to Jonathan Aufray in an email I forgot to add a subject line. But either it was my luck or Jonathon`s generosity that he replied to my email and accepted the invitation.
Newly Updated Course: Build a CMS With Laravel
Want to build your own content management system (CMS) in 2018? Learn exactly how it's done in our comprehensive course Build a CMS With Laravel, freshly updated with brand new lessons to take advantage of the latest features of Laravel 5.
PHP Digest #12: New and Tools
The recent digest includes an information about CircuitBreaker pattern, Imagick wrapper, PHP_CodeSniffer rules, PHP job scheduler, XHProf profiler, Mutation Testing, and more. Keep on reading!
Announcing Docker for PHP Developers
Over the past year, Laravel News writer Paul Redmond, has been working on Docker for PHP Developers, a hands-on, tutorial style book on using Docker with PHP. Today, the book is available for purchase! |
Jobs
PHP Developer (m/f)
You’re proud to call yourself a nerd and consider programming in PHP to be more than just a job? You’d like to help us make our shop better and faster while simultaneously providing our customers with an unparalleled and flawless shopping experience? If you feel like this describes you, and also happen to have a weakness for new technology, you’re just the person we’re looking for!
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
scssphp
A compiler for SCSS written in PHP.
phraseanet
Digital Asset Management PHP app.
queue
Flexible abstraction for working with queues in PHP.
phactor
Phactor is a high-performance PHP implementation of the elliptic curve math functions needed for EC keypair and ECDSA signature generation, validating signatures, validating curve points, creating SINs and much more.
thruway
Thruway is an open source client and router implementation of WAMP (Web Application Messaging Protocol), for PHP.
atiaa
Atiaa is a thin wrapper around PHP's PDO database abstraction layer.
opencart
OpenCart is a free open source ecommerce platform for online merchants.
betterreflection
Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
phpsa
PHPSA is a development tool aimed at bringing static analysis for PHP applications and libraries.
commonmark
Markdown parser for PHP which supports the full CommonMark spec.
imageutil
A wrapper collection for GD library in PHP.
labrador
A minimalist PHP 7.0+ library that provides core "modules" to facilitate creating small-to-medium sized PHP applications asynchronous applications intended to run within an Amp event loop. |
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?
|
|