|Welcome Back PHP Fans!
The August edition of php[architect] has been released, and this month the focus is on unleashing automation. See how automation can help free up your time and reduce errors.
Also this week, the release candidate for WordPress 4.6 is now available. 4.6 will actually be released in a couple of weeks, so now is the time to get testing.
Five years ago the first Symfony documentation was written, consisting of a few short articles. Today it contains over 1,000 pages, and over 1,000 contributors! Read about the recent "secret project" to create the new documentation.
Plus, we bring you Part 1 of a tutorial on creating a custom plugin in OpenCart, with a view to developing a back-end plugin with a configuration form.
And finally, DrupalCon takes place in Dublin next month, with thirteen session tracks, full day summits and training courses. Tickets are on sale now.
We are always on the look out for articles, tutorials, podcasts, and everything PHP related. So if there's something you'd like to see in your favourite PHP newsletter, drop me a line at firstname.lastname@example.org.
Have a great weekend,
Ade and Katie
We love our sponsors. Why not try them?
From our sponsors:
Taylor Otwell Asked the Community About Their Experience Contributing To Laravel
Taylor created a feedback thread on Reddit asking the community why they do not contribute, as well as asking for suggestions on how to manage issues. See the responses here.
Scaling Constraints of Languages
Micro-Services or any set of small services are common again right now. While it can make a lot of sense to use a dedicated service for a well defined problem those services are sometimes used just to play with a different server software. While it is pretty obvious for most that selecting the right database is important the same is true for selecting the right language (virtual machine) for the job.
Introducing The New Symfony Documentation
When the Symfony documentation was started more than 5 years ago, it was just a few short articles written by Fabien. Now, we boast more than 1,000 pages of documentation, a team of 4 maintainers and over 1,000 contributors! In this article, we're thrilled to introduce the new Symfony Documentation: a result of over 150 hours of volunteer work via a secret project codenamed "Project Mercury".
Checklist for Releasing Slim
Release process for Slim so that I don't forget any steps; based on a check list created by Asgrim. I should probably automate some of this!
Tutorials and Talks
Can We Have Static Types in PHP without PHP 7 or HHVM?
Now that PHP 7 has been out for a while with interesting features, like error handling, null coalescing operator, scalar type declarations, etc., we often hear the people still stuck with PHP 5 saying it has a weak typing system, and that things quickly become unpredictable. Even though this is partially true, PHP allows you to keep control of your application when you know what you’re doing.
Easy: How to Switch Your WordPress to HTTPS
Switching WordPress to HTTPS, meaning an SSL certificate, is often determined as being difficult on the internet. However, as always when it comes to things said on the web, be careful. The truth is that it is rather easy, and everyone that has at least some experience with WordPress, and can install the CMS, can do it. In this article, I’ll guide you through each necessary step, one by one.
Create a Custom Plugin in OpenCart 2.1.x.x: Part One
As a developer, it's always exciting to build custom stuff in any framework, and the same is true for OpenCart plugins as well. In this two-part series, I'll explain custom plugin development in OpenCart. In this first part, we'll build a custom plugin that displays recent products in the store front-end, and you'll be able to configure the number of products from the back-end itself. That's what the aim of this article is - develop a back-end plugin with a configuration form.
Defining Functions Inside a Constructor
Recently came across some code on a project that looks like this (code changed – it wasn’t this simple!) It was a bit more convoluted than this originally, but that’s the gist of what’s going on. To ensure ‘foobar’ was defined as a function, the code would $f = new foo(); which would ensure the global ‘foobar’ function was defined. Sort of blew my mind that someone would build a whole lot of code this way. It’s “wrong” on a lot of levels, but… still works.
This article covers how to get started setting up RethinkDB and connecting your application to it. We’ve put together a quick example using a hypothetical issue tracker and paying particular attention to the data feed updates that RethinkDB offers.
PHP Does Not See Authorisation Header
While implementing a micropub token endpoint I noticed that I was unable to access the value of an HTTP Authorisation header - $_SERVER did not include it.
Pathauto Added Special Characters in URL Alias - Drupal 7
To improve SEO, we need to clean our URLs. By default in drupal, we've an option called clean URLs at the configuration. In Drupal 7, we can also manage the URLs. For instance, you have a content type called services. You wanted each service page to have url like services/page-name. To do that, we've a pathauto module in Drupal 7.
Implementing PHP Collection Classes
A Collection class is an OOP replacement for the traditional array data structure. As the name suggests, a collection can be seen as a container and can be described as a class designed for holding data of a specific type or any type. This article will show you how to create a Collection class using different types of methods used to manipulate arrays, and we will apply the Reflection mechanism over this class.
How To Use PHP Solarium in a Laravel Project
This is my second blog in a series about SOLR with the PHP Solarium library. My first blog was about the usage of OR filters to create Multi-Select facets with SOLR. With this blog item I will show you how easy it is to implement the PHP Solarium library in the Laravel framework.
Hassle-Free Filesystem Operations during Testing? Yes Please!
When working with the filesystem in our test suites, a big concern is cleaning up the temporary files after each test runs. However, if for any reason the tests execution is interrupted before the cleanup phase, further tests might fail, as the environment has not been cleaned up. In this post, we will use a library named vfsStream to create filesystem mocks. It’s little more than a wrapper around a virtual filesystem, which also works very nicely with PHPUnit.
Routing Changes in Laravel 5.3
The last few versions of Laravel have showed the way routing works shifting around a bit. This is usually a sign that we're feeling some sort of pain - something feels off - but haven't found the perfect solution yet. In 5.3, we may have found it.
My PHP and Docker Workflow
When it comes to Docker, I use Docker Compose to set up and link all of my containers together. It's rare that I have a single container, though many of my Sculpin-based sites live quite comfortably inside of an nginx container, but even those take advantage of volumes.
Validating SSL Certificates with PHP
With vanilla PHP it’s possible to check if the SSL certificate of a given site is valid. But it’s kinda madness to do it.
|News and Announcements
WordPress 4.6 Release Candidate
The release candidate for WordPress 4.6 is now available. We’ve made a few refinements since releasing Beta 4 a week ago. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something.
Symfony Live - September 15-16th 2016, London
From September 15th to 16th 2016, over 300 engineers, developers and IT professionals will meet at Westminster for SymfonyLive London 2016. SensioLabs is proud to organise the 5th edition of the British Symfony conference and to welcome the Symfony community from all over the UK. Join us for 2 days of Symfony to share best practices, experience, knowledge and hear the latest developments with the framework! Tickets are on sale now.
DrupalCon - September 26-30th 2016, Dublin
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 in a European city for one of our biggest events, DrupalCon. There are 13 session tracks, featuring topics like Site Building, DevOps, project management, and PHP. And each track includes sessions for beginners, experts, and everyone between. You can also join full-day summits or choose from our great training courses. Tickets are on sale now.
Madison PHP Conference - September 30th-October 1st
Join us on Friday, September 30th 2016 for a full day of tutorials followed by three tracks of talks on Saturday, October 1st. Madison PHP Conference in Madison, Wisconsin focuses on PHP and related web technologies. This event is organised by Madison PHP and is designed to offer something to attendees at all skill levels. It will be two days of networking, learning, sharing and great fun! Tickets are on sale now.
ZendCon - Oct 18th-21st 2016, Las Vegas
We’re pleased to announce the ZendCon 2016 PHP Conference, the most anticipated PHP centric event of the year, where community and enterprise PHP developers from around the world gather to share and learn the latest hot trends and technologies in today's professional PHP development. Early Bird tickets are on sale now.
International PHP Conference - October 23rd-27th 2016, Munich
The International PHP Conference is the world’s first PHP conference. Over a decade of 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. Tickets are on sale now.
Voices of the ElePHPant - Interview with Vesna Kovach
This week, recorded live at Sunshine PHP 2016, Cal Evans interviewed Madison PHP member Vesna Kovach.
Three Devs and a Maybe Podcast - Hip Hip (array)
On this weeks show we start off the discussion around what we have been up to away from the keyboard, and an update on Mick’s big freelance project. We then move on to the pros n’ cons of being tied into an ecosystem such as AWS, React performance, Micro-services and the expected FUD outcry when a web application makes a significant change. Finally, we chat about how important logging and monitoring are within an application, and how it can become trickier to track down issues when a system is sufficiently large or a sum of many parts.
Full Stack Radio Podcast Episode 46: Joe Ferris - Test Driven Rails
In this episode, Adam talks to Joe Ferris of thoughtbot about the test-driven development workflow he uses to build Rails applications.
The Laracasts Snippets Episode 35: Shut Up and Do The Work
Today, we're discussing the importance of building little projects for yourself. Whether it's a podcast, or book, or web app, pick something and force yourself to see it through to completion. Along the way, I'll tell you about my completely rewritten book, and why I'm so excited to share it this time around.
dev/hell Podcast Episode 80: Lifestyles of the Moderately Privileged and Internet Famous
This episode, Chris remembers his feline companion and Office Manager who passed away recently. Then we get into an insanely long discussion of travel tips and horror stories.
PHP Articles Report July 2016 Edition
This is the July edition of the podcast hangout recorded by Manuel Lemos and Arturs Sosins, to comment on the latest outstanding PHP Articles published recently. They commented on articles about using DevSense PHP Tools extension to develop and debug PHP applications with Visual Studio, automating actions on Mac OS X using PHP scripts, using reactive programming to develop more efficient PHP applications, debugging remote projects with PHPEd, and a new series of short videos to tell why developers should create their own software products and sell to many customers, and what are the main mistakes to avoid to become successful doing that.
Visiting the Coolblue Offices in Rotterdam
On Tuesday July 19th I was invited to speak at the Coolblue Behind The Scenes event at their offices in Rotterdam. I did a presentation on PHP 7 and got to visit their amazing offices. Here’s the video that contains the full trip report.
php[architect] August 2016 - Unleashing Automation
3 Methods to Discover Ideas to Create New Software Product Businesses with Good Potential
According to a recent survey, many developers would like to create their own business selling software products, but they do not have any good ideas of products that could sell well. Fortunately there are methods that you can apply to come up with good software product ideas and then figure if they have good market potential, even before you start developing the software products. Watch this video with a consulting session with a developer to learn more about those methods.
Josh Lockhart Discusses Slim Framework and PHP Development
Josh Lockhart is the creator of Slim Micro Framework for PHP, a well known framework for writing powerful API and web apps. He is also managing PHP The Right Way, a project that provides best practices and quality information about PHP in one place. He works as a senior web developer and special project director at New Media Campaigns. In this interview Josh talks about his experience with PHP. He also describes how he came up with the Slim Framework and offers great advice to PHP newbies.
What Pokémon Go Can Teach Coders
In this video, I use the fantabulous example of Pokémon Go, to illustrate key app development principles.
Jack McDade’s Laracon Slides
Slides from Jack McDade’s talk on Wizards, Lawnmowers, and Hovercrafts! Creativity. Perspective. People, and Products. Mash em together with magic and get real life, practical advice.
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
Detect continuous integration server and provide unified access to properties of current build.
CleverStyle Framework is a simple, scalable, fast and secure full-stack PHP framework.
A web based point of sale system written in the PHP language. It uses MySQL as the data storage back-end and has a simple user interface.
A very flexible, fast, robust, customer and developer friendly but yet powerful web based content management system and cms framework running under PHP and MySQL.
Phony is a PHP library for creating test doubles.
This is a userland replacement for PHP's native get_browser() function, which is officially supported by the Browser Capabilities Project.
Hprose is a High Performance Remote Object Service Engine.
Hello API is a starter providing everything to build a modern API-Centric application, with PHP and Laravel 5.2.
A PHP library that adds modules and applications to WordPress.
Just an extremely simple naked PHP application, useful for small projects and quick prototypes.
The universal PHP library to convert any values and measures (money, weight, currency coverter, length etc).
A multi-paradigm programming language with gradual and duck typing that targets PHP and JS.
|Please help us by clicking to our sponsor:
From our sponsors:
So, how did you like this issue?
Protect your PHP code with SourceGuardian 10. Free trial.