|Hello to the PHP community, and welcome to PHPweekly.com.
PHP TestFest is back! Running from September to December, PHP TestFest is a global event organised by the PHP community at large, where an effort is made each time to increase the test coverage of the PHP engine itself. Learn how you can get involved.
Also this week, if you didn't make it to the Laracon EU conference last month, all speaker videos have now been uploaded onto YouTube for your viewing pleasure.
The 3rd episode in the latest season of the Laravel IO podcast is out this now, featuring an interview with the co-founder of Laravel Nigeria, Neo Ighodaro.
Plus, learn how to build a Slack Chatbot in Laravel using BotMan.
And finally, SymfonyLive kicks off in a few weeks in SanFrancisco, with regular tickets only on sale until this Friday.
Have you written something you would love to share with the PHP community?
Read something you think our readers would enjoy?
We love hearing from you, so please drop me a line at firstname.lastname@example.org with your podcasts, tutorials, articles, libraries, and general recommendations.
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.
Community Corner: PHP TestFest Has Returned!
There is a new movement in the PHP community! Well, it isn’t exactly new, but an event called PHP TestFest is back. PHP TestFest is a global event organised by the PHP community at large, where an effort is made each time to increase the test coverage of the PHP engine itself. Around eight or nine years ago, user groups around the world coordinated to organise events spanning a few months each year, with some groups continuing events annually for several years after.
Quality: Program vs Product
Why it is that programmers and their employers have different attitudes toward the quality of a project? The problem is that the term “quality” means different things to different people.
Checklist For A Reliable Load-Test
Setting up a load-test that produces results you can rely on is not that simple. But without realistic test-results you cannot be sure that your application handles sudden increases of traffic, rapid spikes or even the initial go-live. And you cannot estimate at which number of users you should scale up your hardware. Both details are very important to keep the application running at all times and guarantee that no revenue or developer sleep is lost because of outages. We have a large checklist of points we go through when setting up performance tests with customers and I wanted to discuss some of the more important points in this blog post.
New Features in Our Packages
Every time our team releases a package I have the habit of writing an introductory blogpost. But after the initial release most pages gain more features through PRs by the community and ourselves. Mostly these new feature go unnoticed. That’s why I plan on regularly writings posts on noteworthy changes across our repos.
Security For Drupal and Related Server Software
Drupal is an open-source content management system with a quite complex architecture. It also has a strong security model. Thanks to the big community of developers there is a lot of informative documentation and useful examples of the proper configuration of Drupal website security and keeping this configuration up-to-date. This article focuses on discussing the mentioned key points. It provides some clues which should help the server and website administrators to audit the security of the entire system.
Tutorials and Talks
WordPress: Modern Theme Development With Action Hooks
More and more developers use action hooks in their template files, as they help to keep a clear overview of the individual files, as well as the used functions. As there is very little information on working with action hooks out there, beginners and advanced users alike tend to run out of ideas quickly. To prevent that from happening to you, today, we’ll look into action hooks and their advantages, to save you from these frustrations.
Deploy Laravel Application On Cloud Easily With Cloudways
Even if you know all about it, setting up and configuring a dedicated server is a time consuming multi-step process. But thanks to managed hosting solutions available in the market today, setting up servers is no longer a major action item on project task lists.
Build a Slack Chatbot in Laravel with BotMan Studio 2.0
With BotMan it is really easy to setup a Slack chatbot. Last week the new 2.0 version was released. We will checkout how to setup a Slack chatbot in this new version with BotMan Studio step by step.
An Introduction to Generators in PHP
Generators have been added to PHP in version 5.5, yet they have received rather low attention. The PHP 5.5 migration guide introduced them as way to implement simple iterators.
New in Symfony 3.4: Advanced Environment Variables
Symfony 4 will promote and leverage environment variables to configure some parts of the applications. In Symfony 3.4 we're working hard to make that fully possible. The last big hurdle was that environment variables are always transformed into strings. That's a big problem when using PHP 7.1 type-hints.
The Keys are The Key in Laravel Multiple Field sortBy()
One of the “popular” issues over on Laravel Internals is a request to allow for sorting by multiple fields.
Building an App with Nette and Adding Authentication
In this tutorial, I'll show you how easy it is to build a web application with Nette and add authentication to it.
PHP Application in SAP Cloud Platform With PostgreSQL, Redis and Cloud Foundry
Keeping on with my study of SAP’s cloud platform (SCP) and Cloud Foundry today I’m going to build a simple PHP application. This application serves a simple Bootstrap landing page. The application uses a HTTP basic authentication. The credentials are validated against a PostgreSQL database. It also has a API to retrieve the localtimestamp from database server (just for play with a database server). I also want to play with Redis in the cloud too, so the API request will have a Time To Live (ttl) of 5 seconds. I will use a Redis service to do it.
Measure Anything in Laravel with StatsD
I want to show you some tools and techniques you can use to measure anything and everything that you want in your Laravel applications with StatsD. These ideas are simple and not new; yet, I believe that the simplicity and power are what makes StatsD great.
PragmatiClean - Command Bus
Use Command Bus pattern in your controllers, but drop the bus.
How To Add Custom Error Codes to Your Symfony API Responses
When writing APIs, a proper error handling is fundamental. HTTP status codes are a great start, but often when we deal with user inputs is not enough. If out model has complex validation rules, understanding the reason behind an 400 Bad Request error can be not trivial. Fortunately when, for symfony developers, there are many libraries to deal with it. Symfony Validator, Symfony Form, FOS REST Bundle and JMS Serialiser combined allows you to have nice error messages to be shown to your users.
A Trait to Dynamically Add Methods to a Class
We recently released our newest package called macroable. It contains a trait that, when applied to class, can dynamically add methods to that class. This trait is basically a stand alone version of the macroable trait in Laravel. In this post I’d like to show you how you can use it, how it works behind the scenes and explain why we created it.
PhpStorm: Tasks & Contexts with Your Git Branches
Switching context is a pain. Not just because you need to mentally switch the complex web of ideas in your head. Think about all the physical files on different git branches you have to remember in order to answer a “quick question about task #123”. The controller, the view that holds the front-end template, the other templates, the data factory that makes the ajax call to the other controller, which uses a service class…
A New API Binding: cloudflare-php
Back in May last year, one of my colleagues blogged about the introduction of our Python binding for the Cloudflare API and drew reference to our other bindings in Go and Node. Today we are complimenting this range by introducing a new official binding, this time in PHP.
SMS Admin in 8 Lines of Code
In an effort to provide on the go support for Laravel Shift, I created an SMS based admin using Nexmo and Laravel.
Laravel and Twilio: Group Video Chat
While words alone are powerful, the inflections of people’s voices, the gestures and expressions we unconsciously flow through during conversation all contain a wealth of information often lost to us in our technology driven communications. Using Twilio’s Video API you can now add the richness of face to face interactions to any web project. Here we’ll look at how to create a Laravel web application that gives users the ability to join existing video groups or create their own.
Goodbye Controllers, Hello Request Handlers
A lot has changed in the PHP landscape over the past years. We started using more design patterns and things like the DRY and SOLID principles. But why are we still using controllers?
PayPal Express Checkout with PHP and MySQL
Most people prefer to shop online, which made eCommerce grow rapidly. But, what makes an excellent eCommerce site for the customers? The answer is - an excellent checkout process. There are several different payment options available in the market today. Out of all of them, Paypal is the most popular and convenient way to get paid.
|News and Announcements
Laravel v5.5.13 Released
So we think we finally got it, like for real this time. Pinky promise.
PHP 7.1 is Now Available on Cloudways
Cloudways has integrated support for PHP 7.1 into its Platform. Cloudways offers managed hosting for a range of PHP powered applications including WordPress, Laravel and Symfony. We realised that we had our work cut out for us. We had to make sure that PHP 7.1 works perfectly with each application, so that our customers do not face any issues when they launch PHP 7.1 powered applications.
SymfonyLive - 17th-20th October 2017, San Francisco
We’re back! SymfonyLive is coming back, that’s right, back to our beloved San Francisco for a whole new chapter in our conference series for 2017. We are ecstatic to return to the city by the bay and host the American Symfony community. Symfony fans of The City, don’t miss the upcoming presentations, discussions, symposiums, meetups and our wonderful conference happy hour. Tickets are on sale now.
PHPCE - November 3rd-5th 2017 Rawa Mazowiecka, Poland
phpCE is the first edition of a community conference for PHP programmers and enthusiasts. The meeting was established by merging two nation-wide events: PHPCon Poland and Brno PHP Conference. Tickets are on sale now.
Scotland PHP Conference - November 4th 2017, Edinburgh
The Scotland PHP Conference is back for a second time, where community members from around the world come together to learn and share information about the latest trends and technologies in professional PHP development. Early Bird 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. Blind Bird Tickets are on sale now.
Voices of the ElePHPant - Interview with Ed Barnard
In this episode, Cal talks with Ed Barnard about speaking at conferences and training new developers.
Laravel IO Podcast Season 3: Episode 3 - Neo Ighodaro
An interview with the co-founder of Laravel Nigeria and CTO at hotels.ng
Changelog Podcast #263: Conversations About Sustaining Open Source
This episode features conversations from Sustain 2017 at GitHub HQ with Richard Littauer, Karthik Ram, Andrea Goulet, and Scott Ford. Sustain was a one day conversation for open source software sustainers to share stories, resources, and ways forward to sustain open source.
LaraChat Live - Episode #30
The latest podcast from the LaraChat team.
PHP Ugly Podcast #74: $.10 Beer Night
Topics include Laravel certification and the release of Laravel 5.5 LTS.
PHP Roundtable Podcast Episode 67: Concurrency, Generators & Coroutines - Oh My!
PHP has had support for coroutines since PHP 5.5 and it allows you to do some really cool non-blocking stuff. We chat about concurrency in PHP and how we might be able to use it to speed up our apps.
The Complete PHP Essentials Course
If you know the PHP basics, this is next. The stuff you need to know as a developer.
Cloudways Interview - Co-Founders of MageBay Express Their Admiration for Magento
Today, I’m honoured to have the CEO and CTO of a well-known Magento extension development company – MageBay. Quang Cao Minh is the CEO, and Dinh Hong Duc is the CTO. Both of them play an active role in the Magento Community. In this interview, the two influencers have shared the highlights of their career and their love for Magento platform.
Laracon EU 2017 Talk Videos are now on Youtube
Today, Laracon EU uploaded all of the speaker videos to YouTube and here is the link to the full playlist. The playlist features 20 videos and is sure to keep you busy for a few days. Also, be sure and join the wait list for the 2018 event.
WordPress Coding Basics: Attaching Your Functions to Hooks
When you write a function in a plugin or your theme's functions file, how do you get it to run? Hooks, that's how! Hooks let you write clean and easy-to-maintain themes and plugins, and also let you modify the behaviour of third-party themes and plugins. In this course you'll learn how to attach functions to action and filter hooks, and when to choose each type. I'll show you how to attach your function to an action hook to run when a specific event occurs, and how to write a filter function to modify site content on the fly.
WordPress Complete - Sixth Edition 6th , Kindle Edition (published 31st August, by Karol Krol)
This book is for anyone who wants to learn how to create a functional website, without having to hire a developer or a designer. Learn how to build a WordPress site quickly and effectively, and how to create content that's optimised for publication on the web.
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@example.com
Interesting Projects, Tools and Libraries
For WordPress, it is the #1 plugin for churches who want to manage their sermons easily and missionally.
Laravel 5.5 blog example project with good practices.
Spress is a static site generator built with Symfony components.
Increase your traffic, view your stats, speed up your site, and protect yourself from hackers with Jetpack.
A fast and lightweight open source xAPI conformant Learning Record Store (LRS).
Authentication for PHP. Simple, lightweight and secure.
A PHP library to read and write feeds in JSONFeed, RSS or Atom format.
Framework agnostic database migrations for PHP.
Fully functional Open Source email marketing manager for creating, sending, integrating, and analysing email campaigns and newsletters.
An early-stage PHP parser designed for IDE usage scenarios.
A free open source user management system for websites of organisations and groups.
A new generation content management system that allows you to create a website using drag and drop.
Please help us by clicking to our sponsor:
Try SparkPost Free. Email Delivery & Analytics Built for
Developers, By Developers.
So, how did you like this issue?