Hello and welcome to the latest @phpweeklynews.
This week the PHP development team announced the release of PHP 7.2.0, the second feature update in the series, which is available immediately.
We also saw the release of WordPress 4.9.1, Symfony 4.0.0 and Laravel 5.5.23.
The December edition of the php[architect] magazine is out now, Talking Code. With voice and natural language currently at the fore of development, this issue looks at building an application that can recognise and react to what users are saying.
Plus take a look at the PHP Security Advent Calendar for this year, including a daily code challenge for you to solve.
And finally, looking ahead to Joomla in 2018, we have 10 trends that will make a significant impact on design styles next year.
Enjoy your read!
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
Exakat’s PHP Advent Calendar 2017
With PHP 7.2 out of the oven, literally yesterday, and the final month of the year starting, it is time for a PHP advent calendar. Every day until the 25th of December, we’ll reveal a new smelly treat.
Tips to Attract, Manage, and Retain Software Developers
Management is all about people. Whether managers or employees, both are thinking about how to achieve their personal and professional goals. The combination of these goals and the personal traits of the people involved give shape to relationships that, in time, can be positive, productive, and fulfilling, or sometimes just plain stressful, demanding, and conflict-prone.
The Diversity Initiative
I like to say that docs are more important than code in a tech project. Docs are a challenge for any project as developers like to write code, not docs. But the real success of a project is best measured by its community: the people working on/with the project. Without people, code is nothing. Symfony is fortunate to have a large and nice community. And I'm proud of what we have achieved so far. But we almost never think about how we can "improve" our community in the same way we think about improving Symfony "features". That's a mistake we need to fix.
Avoid Dependency Injection
Dependency injection of a Repository or a Domain Service into an Aggregate should generally be viewed as harmful.
10 Webdesign Trends of 2018
2017 is on the way out, and now we are looking forward to a very bright year for web design and Joomla! Design styles over the past few years have been shifting toward the more minimal model, and the web is looking very standardised at the moment, but some new and familiar trends will make a significant impact in 2018.
6 Must-Have Tools in a PHP Developer’s Toolkit
PHP is a popular back-end programming language that allows you to quickly and effortlessly create simple, dynamic websites. It’s so popular, in fact, that around 80% of all websites now use it! Once you’ve decided to learn PHP and join the awesome community of developers, you may be wondering, what are some essential tools I’ll need? We asked expert PHP teacher, Alena Holligan to share her top picks! |
Tutorials and Talks
Adding a GraphQL API to your Symfony Flex Application
I've been using GraphQL for some API thingamajigs, and it's been working fine. Now with Symfony 4 out, I figured a write-up on how to use GraphQL with Symfony Flex could be useful for someone.
Symfony Now Has An Improved Dump Function
Let's talk a little bit about Symfony's dump function. It's part of their VarDumper component. The function can dump a variable to the screen or browser in a nicer format than PHP's native var_dump. In the recently released Symfony 3.4 and Symfony 4 the function got a nice little improvement that I'd like to highlight in this post.
A Package for Laravel Blade Extension Classes
I created a Blade Extension package that allows you to register Blade extension classes in the service container that automatically get registered with the Blade compiler. You can also easily create new Blade extension classes with the provided php artisan make:blade command (auto-registered package commands FTW).
Simple PDF Rendering with Laravel
PDF generation is a core feature when our app contains invoicing or services that require a downloadable version of an information schema. Like in many other situations, a simple solution would do it instead of a full-featured package. Let’s see how to render PDFs easily.
Modular Application Architecture - Events
This is the second post from a series of posts that will describe strategies to build modular and extensible applications. In this post we will start looking on how to implement a plugin-system by using "events".
Laravel 5.4 API/Request Validate Boolean
For some API work in Laravel, I wanted to validate that the incoming request parameter was a boolean value.
Task Scheduling in Laravel
In this article, we’ll go through one of the exciting features of the Laravel web framework—task scheduling. Throughout the course of this article, we’ll look at how Laravel allows you to manage scheduled tasks in your application. Moreover, we’ll also end up creating our own custom scheduled tasks for demonstration purposes.
Lando + Heroku Workflow
Heroku is a flexible cloud hosting platform. Lando is a flexible local development environment. Together they can make your dev workflow really shine! In and of itself, there is no reason you can't just take any app and deploy to Heroku as you normally would; this post will walk you through constructing a useful .lando.yml config file for working with Heroku.
TLDR Pages: Simplified and Community-Driven Man pages
The TLDR pages (too long; didn’t read) is a command-line project that aims to simplify man pages with useful, terse examples of commands. This CLI tool gives me even less reason to memorise the tar and curl flags.
PHP-FPM Tuning: Using ‘pm static’ for Max Performance
Let’s take a very quick look at how best to set up PHP-FPM for high throughput, low latency, and a more stable use of CPU and memory. By default, most setups have PHP-FPM’s PM (process manager) string set to dynamic and there’s also the common advice to use ondemand if you suffer from available memory issues.
Installing PHP 7.2
PHP 7.2 has been released, bringing some great new features and security enhancements to the language such as object type hints, saner count() behaviour, and much more. Here's a brief guide on how to install PHP 7.2 on several different operating systems.
How to Add Schema Markup to Your WordPress Site
A website owner’s top priority should be ensuring that search engines are able to properly index their site’s content. In order to make that happen, the site must be set up to follow Search Engine Optimisation (SEO) best practices. If your site was built with WordPress, then you’re already off to a nice start.
PHP Security Advent Calendar 2017 Announcement
The end of the year is coming closer and the cheery advent time begins. We are looking back at a spectacular year and it is time to thank and give back to the great PHP, infosec, and RIPS community. Thank you for developing, auditing, and securing your PHP applications with us in 2017! Similar to last years advent of PHP application vulnerabilities where we released a new application vulnerability each day, we will release a new calendar gift from December 1st to 24th this year again. This time, we will focus on nifty PHP pitfalls and release a daily code challenge for you to solve. Can you spot the daily security bug?
Reacting to Promises
I was working on the next post of my Prooph service bus series, which includes the usage of ReactPHP promises. Given that I haven’t had the chance to take a closer look at it yet, I decided that this is the right time for it.
Using VS Code for WordPress Development
If you keep up with the many different text editors and developer tools available, you may have heard of a newer IDE called Visual Studio Code. VS Code is a free, open source code editor that is lightweight like Sublime Text, but offers many of the same features as bigger IDEs like PhpStorm or WebStorm. In this article I’ll review some features and extensions of VS Code that I really appreciate, and show you how to make the most out of it for WordPress and general web development. |
News and Announcements
PHP 7.2.0 Released
The PHP development team announces the immediate availability of PHP 7.2.0. This release marks the second feature update to the PHP 7 series.
WordPress 4.9.1 Security and Maintenance Release
WordPress 4.9.1 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.
Symfony 4.0.0 Released
Symfony 4 was released on November 30th. Update now to the best Symfony ever!
Laravel v5.5.23 Released
There is a new Laravel release in town!
Longhorn PHP Conference - 19th-21st April 2018, 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 open, and Early Bird tickets are on sale now.
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. Early Bird tickets are on sale now.
ConFoo - March 7-9th 2018, 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. |
Podcasts
Three Devs and a Maybe Podcast - Delving into Cryptocurrencies with Jay Smith
In this episode we are lucky to have cryptocurrency proponent and trader Jay Smith on the show. We start off by talking about how he got introduced to cryptocurrencies and trading, highlighting what trading actually is, and the two different schools of thought (fundamental vs. technical analysis). From here we move on to chat about how innovations such as Bitcoin are changing the way we view money/bank, the underlying technologies that make it possible (Blockchain), and the game-theory/incentives behind it for each participant to continue ‘playing the game’. Conversation then moves on to touch upon alternative cryptocurrencies (alt-coins) and the different use-cases/advancements they are making in the space. Finally, we highlight Bitcoins scaling dilemma, how all routes seem to effect decentralisation in some shape or form, and how he stores his private keys.
Voices of the ElePHPant - Interview with Larry Amond and Mike Pavlak
In this episode, Cal talks with Larry Amond of the Grand Rapids Realtors Association about using WordPress and PHP on the IBMi, and senior IBMi strategist Mike Pavlak.
Changelog Podcast #275 - The History of GNOME, Mono, and Xamarin
We talked with Miguel de Icaza last week at Microsoft Connect(); in New York City. Miguel gave us the backstory on how he's been competing with Microsoft for most of his developer career, and he shares the history of GNOME, Mono, and Xamarin — and what led him to now work at Microsoft.
MageTalk Magento Podcast #151 - “Becky with the Good Hair”
Rebecca "Becky" Brocton joins MageTalk co-host fame by stepping in for Kalen.
Laravel News Podcast LN51: A Short, Sharp, Shiny Holiday Send Off
Jake and Michael get together one last time for 2017 to bring you the latest news from around the Laravel Community.
LaraChat Live - Episode #35: Security and Laravel
Tonight's live chat show is all about security, what do we know, what do we not know, how do we check, what do we do when we're hacked.
The Laracasts Snippets Episode 74: Marketing Slime
Every year around this time, I feel it. "Oh, yet another email from that business, asking me to buy their thing...again." The abuse of power is what makes marketing efforts like these feel so slimy.
Zend Framework Quick Bites Episode 43 - The Latest Post Now Covers Composer Commands!
Just a quick one to mention that the most recent post: What Does It Take To Start Using Zend Expressive?, has been updated. It now covers the Composer scripts that come with projects created with the Zend Expressive Skeleton Installer.
PHP Ugly Podcast #84: Loot Crate Edition
Topics include the final San Diego Laravel Meetup, and Teletype for Atom. |
The Month in WordPress: November 2017
The WordPress project recently released WordPress 4.9, “Tipton” — a new major release named in honor of musician and band leader Billy Tipton. Read on to find out more about this and other interesting news from around the WordPress world in November.
Laravel Advent Calendar
Laravel Advent is a new project by David Piesse to bring you a new interview every day for the month of December. To go along with this each day will feature a giveaway, with the total prizes valued at over $10,000! As Laravel Advent is a new project I thought it’d be great to sit down with David and find out more about the motivation behind this.
php[architect] Magazine December 2017 - Talking Code
Voice and natural language are the new frontiers for interacting with our computing devices and services. It’s a natural evolution given the proliferation of smaller and even screen-less devices connected to the internet. In this issue, we look at how you can build an application which recognises and reacts to what your users are saying.
Joomla Community Magazine - The December Issue
Another year is coming to its conclusion and the Joomla Community has a lot of great news to share in this issue!
Cloudways Interview - Owen Lansbury On PreviousNext And The Future Of Drupal
Today, we have got a big name in the Australian Drupal industry for our interview. It’s none other than Owen Lansbury, the co-founder of one of the largest Drupal Agencies in Australia, PreviousNext.
3 Practical Examples to Learn Laravel
Laravel is the most popular PHP application framework, and there are countless tutorials, articles, and yes, even videos on how to get started with and learn Laravel. But this course is going to be a bit different: you're going to learn Laravel by building a series of practical applications that, with a little extra work, could be used in the real world. |
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
goridge
Goridge is high performance PHP-to-Golang codec library which works over native PHP sockets and Golang net/rpc package. The library allows you to call Go service methods from PHP with minimal footprint, structures and []byte support.
trucker
A PHP package for mapping remote API resources (usually RESTful) as models in an ActiveResource style. The benefit is easier use of remote APIs in a fast and clean programming interface.
mibew
Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-time directly from your website.
adldap2
Adldap2 is a tested PHP package that provides LDAP authentication and directory management tools using the Active Record pattern.
mail
Library to send e-mails over different transports and protocols using immutable messages and streams.
elasticsearch
ElasticSearch is a distributed lucene powered search indexing, this is a PHP client for it.
qandidate-toggle
Feature toggling for your PHP application.
cartographer
A sitemap generation tool for PHP following the Sitemap Protocol v0.9, cartographer can handle Sitemaps of any size. When generating sitemaps with more than 50,000 entries (the limit), the sitemap becomes a "map of maps" (i.e. nested sitemaps).
tinylara
TinyLara is a Simple PHP Framework based on Composer, looks like a Tiny Laravel.
crawler
This package provides a class to crawl links on a website. Under the hood Guzzle promises are used to crawl multiple urls concurrently.
bulletphp
Bullet is a resource-oriented micro PHP framework built around HTTP URIs.
latte
Latte is a template engine for PHP which eases your work and ensures the output is protected against vulnerabilities, such as XSS. |
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?
|
|