Welcome to this weeks edition of PHP Weekly News.
The PHP development team has announced two new releases - 7.1.2 and 7.0.16, both available immediately. .
Also this week, the Drupal community has opened its first membership drive of the year. Join the Drupal Association as a member today to fund the work they do to keep the home of the Drupal project thriving.
We take a look at Git Rebase, thought by some to "fall on the magic end of the spectrum for Git commands".
Plus Thijs Feryn's new book "Getting Started With Varnish Cache" is available to download now. Or wait a month and purchase a physical copy.
And finally, Cal Evans is back with his Voices of the ElePHPant podcast, this week talking to Chris Hartjes.
Have a great weekend folks,
Cheers
Katie and Ade |
We love our sponsors. Why not try them?
From our sponsors:
|
Find Top Developers We help companies like Airbnb, Pfizer, and Artsy find great developers. Let us find your next great hire. Get started today.
(ads by LaunchBit) |
|
Articles
Drupal Association Membership Campaign: February 20th to March 8th 2017
Drupal.org is home of the Drupal project and the Drupal community. It has been continuously operating since 2001. The Engineering Team— along with amazing community webmasters— keeps Drupal.org alive and well. As we launch the first membership campaign of 2017, our story is all about this small and productive team.
Sourcehunt: Idea of the Month and 6 Interesting Repos!
It’s time for our monthly hunt for new open source libraries to use and contribute to! If you’re new to Sourcehunt, it’s our monthly post for promoting open source projects that seem interesting or promising and could use help in terms of Github stars or pull requests. It’s our way of giving back – promoting projects that we use (or could use) so that they gain enough exposure to attract a wider audience, a powerful community and, possibly, new contributors or sponsors.
DDD Europe Conference Report - Part II
In a previous post I discussed some of the talks I attended at the DDD Europe conference in Amsterdam. This conference has offered a lot more amazing content and I'd like to continue to tell you about it.
22 Top Free Magento 2 Extensions & Modules
In this article we have gathered the most successful and result oriented free Magento 2 extensions covering Checkout Enhancements, Search and Navigation, Site Management, Content and Customisation, Marketing, SEO, Translation and Localisation categories.
A Developer's First Steps To Finding a New Job: Part I, Know Yourself
I believe it’s really important to take a few basic steps before charging ahead into the job hunt. A little planning will always bring better results in the long run, especially if you’re looking for a role that you can grow in and enjoy for years to come. It’s well worth taking a little time upfront to prepare. I’ll be writing a four-part series starting this week about what steps all developers should take before applying for a new job. Today we’re going to look at what I see as Step 1: Know Yourself. |
Tutorials and Talks
Laravel Collections “when” Method
Starting at v5.4.12, Laravel Collections now includes a when method that allows you to perform conditional actions on the items without breaking the chain. Like all the other Laravel Collection methods this one can have a lot of use cases but one example that comes to mind is being able to filter based on a query string parameter.
Writing Async Libraries – Let’s Convert HTML to PDF
I can barely remember a conference where the topic of asynchronous PHP wasn’t discussed. I am pleased that it’s so frequently spoken about these days. There’s a secret these speakers aren’t telling, though… Making asynchronous servers, resolving domain names, interacting with file systems: these are the easy things. Making your own asynchronous libraries is hard. And it’s where you spend most of your time!
Environment Variables, Config Caching, and Laravel
As part of the recommended production deploy process it is important to run the caching commands that Laravel affords us via Artisan. This means running config:cache and route:cache, which will compile the config and route files down into a single file each. In doing so, Laravel aims to speed up parsing of these files by only needing to read a single, rather than multiple files.
A Closer Look At Git Rebase
For some, git rebase falls on the magic end of the spectrum for Git commands. In this post, we'll take a closer look at git rebase.
Building Your Startup: Increasing Security
In the prior episode, I covered primarily web server security and access control. In today's episode, I'll discuss additional safeguards that I added to Meeting Planner. Since all the code is written in the Yii2 Framework for PHP, I was able to leverage the framework for a number of these fortifications.
Manage Custom VM with Laravel Forge
I had a legacy php application that I wanted to move to a newer version of php. This application is not built on Laravel but rather is a conglomerate of a bunch of different php scripts and pieces of different frameworks. We recently deployed a Laravel-based application to a server running on AWS via Laravel Forge and Laravel Envoyer and fell in love with the service. We were completely up and running in about 10 minutes and it was great.
PHP and SQL Server for Linux
Microsoft announced the availability of a public preview of SQL Server for Linux on the 16th of November, 2016. This week we tested the public preview of Microsoft SQL Server for Linux using PHP 7 with our component zendframework/zend-db.
Debugging JavaScript and PHP At The Same Time with PhpStorm
Since I started with Delicious Brains last July, I’ve become a big fan of PhpStorm. It really is the bee’s knees. In this post I want to expand on what Iain already covered with PhpStorm and Xdebug and show you how to level up your JavaScript debugging skills with PhpStorm. Let’s get to it!
Testing Conventions
Testing is an essential aspect of development, and test code should be treated the same way with regard to defining and using coding conventions and standards. This time I would like to share few conventions that I follow when writing unit tests in particular, some of which I adopted only recently.
Automating the Deployment of Encrypted Web Services with the AWS SDK for PHP (Part 2)
In the first post of this series, we focused on how to use Amazon Route 53 for domain registration and use Amazon Certificate Manager (ACM) to create SSL certificates. With our newly registered domain available for use, we can proceed to deploy and configure the services we need to host the www.dev-null.link website across an encrypted connection. Once complete, the infrastructure configuration will reflect the diagrams below.
The Death Star Version Constraint
PHPUnit 6, a new major version of the de-facto standard for testing PHP-based software, was recently released. Soon after, the test suites of developers who did not yet want to upgrade to the new version stopped working. What had happened? In a nutshell, these PHP developers were caught off guard by the consequences of using the "Death Star" version constraint in their composer.json file, the * operator.
Review: Refactoring to Collections
“Never write another loop again.” A strong promo sentence used by Adam Wathan to market his Refactoring to Collections book, but does it hold the promise? Well, together we will explore how close that claim is to reality.
Simple PHP Queue Worker
During development, restarting the queue worker is tedious. Better separate worker and functionality by calling external scripts.
Handling Multiple Exceptions in PHP 7.1
Exception handling is one of the ways in which modern languages handle errors. PHP usually handles exception in a separate catch block for each different type of exception. Below is a example exception code that uses three custom exceptions ‘MyFooException’, ‘MyBarException’ and ‘MyBazException’ that is later handled in a ‘try’ block. |
News and Announcements
PHP 7.1.2 Released
The PHP development team announces the immediate availability of PHP 7.1.2. Several bugs have been fixed. All PHP 7.1 users are encouraged to upgrade to this version.
PHP 7.0.16 Released
The PHP development team announces the immediate availability of PHP 7.0.16. Several bugs have been fixed. All PHP 7.0 users are encouraged to upgrade to this version.
Drupal.org Industry Pages Are Live!
We are excited to announce that the first three industry pages are now live on Drupal.org, highlighting the power of Drupal solutions in higher education, government and media/publishing. The pages are designed to quickly inform and inspire technical evaluators and connect them to service providers and technology vendors who can help them move further through their Drupal adoption journey.
Introducing the Fistlab PHP Components
Fistlab is a new initiative to create a set of components in various programming languages, which however works almost the same way. This way it will be easier for developers to go around and play with another programming language without having to find a whole new set of components and dig into how it works.
ConFoo - 8-10th March 2017, Montreal
ConFoo Montreal is a multi-technology conference for web developers, offering a great diversity in content to expand your knowledge and increase your productivity. Learn from 100 international experts. Tickets are on sale now.
DrupalCon - April 24-28th 2017, Baltimore
The Drupal community is one of the largest open source communities in the world. We're developers, designers, strategists, coordinators, editors, translators, and more. Once a year, our community comes together at the biggest Drupal event in the world: DrupalCon North America. This year, from April 24-28, we'll be in Baltimore, Maryland. There are 12 session tracks, featuring topics like UX, DevOps, project management, and PHP. Tickets are on sale now.
The Cake PHP Conference - June 8-11th 2017, New York
CakeFest is organised for developers, managers and interested newcomers alike, bringing a world of unique skill and talent together in a celebration and learning environment around the worlds most popular PHP framework. Celebrating over eleven years of success in the PHP and web development community, CakePHP’s 2017 conference will be an event not to miss. With two workshop days as well as two jam-packed conference days, this is an open source conference not to miss out on! The Call for Papers is now open and Early Bird tickets are on sale now. |
Podcasts
Lately in PHP Podcast Episode 80 - Making PHP 7.2 More Secure with LibSodium Extension
Many PHP developers still use the mcrypt extension for encrypting and decrypting data. However, that extension is based on a C library that is not being maintained anymore by its developers. PHP applications are at risk of being exposed to eventual vulnerabilities that may be discovered in mcrypt but its developers will not fix them. A better alternative is to use the LibSodium extension proposed by the security expert Scott Arciszewski to become part of the core PHP distribution since PHP 7.2. This was one of the main topics discussed by Manuel Lemos and Christian Vigh (the PHP Innovation Award Winner of the Year of 2016) in this episode of the Lately in PHP podcast.
Three Devs and a Maybe Podcast - Contributing to PHP with Joe Watkins
In this weeks episode we chat to good friend of the show Joe Watkins. We start off discussion with his recent work on creating a compute-node, dual WAN setup and accepted PHP Serbia talk on contributing to PHP without being a ‘C wizard’. From here we move on to mention some of the areas (bug tracking system and QA) that could be improved with the help of new contributors within the PHP internals ecosystem. Finally, we highlight several recently proposed RFCs, his opinions on them and some work he is doing on a future RFC.
MageTalk Magento Podcast #117 - 76 Minutes in Heaven (w/ TJ Gamble)
Kalen interviews TJ Gamble of Jamersan to talk about their experience building Magento sites.
PHP Roundtable Podcast Episode 60: Logging & Crash Reporting in PHP
No matter how experienced you are as a programmer, at some point your app will generate errors and crash. Fixing problems with your app quickly is paramount in order to affect as little of your user base as possible. We discuss what is involved with implementing effective logging and crash reporting techniques in PHP to help you keep your apps up and running like a well-oiled machine.
That Podcast Episode 38: Bullet
Beau and Dave discuss Sunshine PHP, Bullet Journaling, Mockery and Symfony Experiments.
The Five-Minute Geek Show Podcast: Episode 96 - Direct Communication and Why Passive Aggression Isn't What You Might Think But Sucks Anyway
A chat about indirect vs. direct conflict, what passive aggression is and isn't, and some tips for responding to folks who manipulate others indirectly.
LaraChat Live - Episode #21
Today we catch up with Adam Wathan and Jessica Mauerhan.
The Laracasts Snippets Episode 58: The Height of Arrogance and Vanity
In the last six months, it has been made very clear to me that, for better or worse, we're all parrots. Whether tech, or politics, or religion, or programming, this can't be denied. How do we fix this?
PHP Ugly Podcast #48: Melt Down
Topics this week include Githubs New Topics feature and deprecations for PHP 7.2.
North Meets South Web Podcast Episode 23 - Clouds, Queues, and Learning To Code
In this episode, Jake and Michael talk about 80 new Pokemon, Jake streaming zip files from Amazon S3, Michael's woes with queues and Google Cloud Platform, as well as learning to code with PhaserJS.
Voices of the ElePHPant - Interview with Chris Hartjes
This week Cal Evans chatted with Chris Hartjes, organiser of the True North PHP conference. |
Acquia Podcast - Diversity, Differentiation, Value(s) with Tim Deeson
While passing through London in late 2016, I sat down with Tim Deeson, lead at the Deeson agency. We talked about the history of his company, delivering value with Drupal is more than delivering code, and Tim's revelations and action regarding diversity at his company and in the tech industry. Watch the video here.
My Varnish Book Is Now Available - Thijs Feryn
I’m proud to announce that my Varnish book is out now. It’s called “Getting Started With Varnish Cache” and it’s available for download through Varnish Software. For the next 30 days, Varnish Software has the exclusive rights to distribute the book. After that, O’Reilly will also be distributing physical copies and the digital version of the book, while Varnish Software will continue to distribute the book on their website.
Adam Wathan Talks About Test Driven Laravel And Podcasting
Adam Wathan is a Laravel developer and podcaster by profession. He has contributed to a number of open source Laravel projects on GitHub. Adam is also known for introducing Test driven Laravel application. Beside development, he also has a podcast at Full Stack radio, in which he talks about how developers could build great software products. In this interview, Adam talks about Laravel development and the workflows he follow for pro level development.
THE PHP BIBLE with over 4,500 PHP Functions inside: The PHP Function Name, Description, Return and Argument all in one place (Kindle Edition, by Michael Martin, published 3rd February 2017)
Inside this book you will find over 4500 PHP Functions all set out in alphabetical order, with chapters for every letter of the alphabet. If you are a PHP coder of any level this book will be the best and handiest tool in your arsenal. |
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
atiaa
Atiaa is a thin wrapper around PHP's PDO database abstraction layer.
elefant
A refreshingly simple PHP content management system and web framework.
phpsa
PHPSA is a development tool aimed at bringing static analysis for PHP applications and libraries.
opencart
OpenCart is a free open source ecommerce platform for online merchants.
composer
Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.
phraseanet
Digital Asset Management PHP app.
betterreflection
Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
scssphp
A compiler for SCSS written in PHP.
dcrypt
A petite library of essential encryption functions for PHP (5.3+).
thruway
Thruway is an open source client and router implementation of WAMP (Web Application Messaging Protocol), for PHP.
knapsack
Knapsack is a collection pipeline library implementing most of the sequence operations proposed by Clojures sequences.
commonmark
Markdown parser for PHP which supports the full CommonMark spec. |
Please help us by clicking to our sponsor:
From our sponsors:
|
Find Top Developers We help companies like Airbnb, Pfizer, and Artsy find great developers. Let us find your next great hire. Get started today.
(ads by LaunchBit) |
|
So, how did you like this issue?
|
Protect your PHP code with SourceGuardian 10. Free trial.
|
|