|Welcome to another packed edition of your favourite PHP weekly newsletter ;)
With the release of PHP 7 edging ever closer, the PHP 7 migration guide is on the PHP.net site, for those of you who want to prepare your applications.
Also this week is the 3rd part of Piotr Pasich's Continuous Deployment series, which combines all the pieces already discussed in the series together, to fully automate the process.
This months edition of the php[architect] magazine is out now, with articles on data manipulation, developing with Aerospike, and GZIP compression, to name but a few.
Plus we bring you the new and updated features and improvements of Drupal 8, which is currently in the Beta release stage.
And finally, the PHP UK Conference 2016 has been announced, back at The Brewery in London next February. Tickets for this event are already on sale.
Katie and Ade
We love our sponsors. Why not try them?
PHP 7 Migration Guide
On the official PHP.net site this week is the PHP 7 migration guide for those looking to prepare their applications for the immenent release of PHP 7.
A Gentle Introduction to Application Security
If you are a web developer (or are thinking about teaching yourself web programming), you probably don't think of yourself as a security engineer, or a white-hat/blue-team member of an information security assurance team. You might have considered security threats in the context of quality assurance before (e.g. validating input), but perhaps you're no expert on the subject. But the second your code is deployed in production, your code is the front line of defense for that entire system and quite possibly the entire network. Logically, that means the software you produce must be made reasonably secure.
Frameworks Are Not Tools
Frameworks are not tools. Frameworks are machines. Each one has the code equivalent of interrelated interdependent moving parts. Frameworks are fascinating for the same reasons that machines are fascinating.
Tutorials and Talks
Drupal 8 Theming Revamped – Updates and New Features
If you are a Drupal developer who has dabbled in theming older versions of Drupal (5, 6, 7) you understand why frustration is the trusty companion of any Drupal themer. Luckily, though, Drupal 8 promises so many improvements that even the Angry Themer is happy for a change. It is only natural we jump in and start looking at what these improvement are.
Using Sphinx for PHP Project Documentation
I recently had the need to write proper prose-like source-code documentation for the Diffbot PHP client. Having looked at several documentation generators, and even having suggested a @prose tag for importing of related MD/reST documents into method and class descriptions, I realised there simply is no perfect solution we can all agree on (yet). So until I extend Sage with a @prose token and reST parsing, I opted for ReadTheDocs and Sphinx.
How to Create a PHP C Extension to Manipulate Arrays Part 2: Adding ArrayAccess and Traversable Interfaces
In the first part of this article we learned how to create an extension for PHP written in C to create a class that works like arrays. However, to make the class objects really behave as arrays you need to implement certain interfaces in the class. Read this article to learn how to make a PHP class defined by a C extension implement ArrayAccess and Traversable interfaces, as well as understanding how to solve problems that you may encounter that can make your extension slower than you expect.
The Beginners Guide to WooCommerce: Adding a Simple Product Part 1
In the previous article we discussed how WooCommerce allows you to add four different types of products, i.e. Simple, Grouped, External/Affiliate and Variable products. Associated with every type of product, there were some sections of settings which varied from General to Advanced. In this article I will walk you through how to add a simple product and configure its settings.
Putting All Pieces Together and Shipping with Codeship (Continuous Deployment – Part III)
In the last two episodes we have configured the Docker environment and automated deployment with Elastic Beanstalk, but still the process requires some manual actions and I personally would like to avoid any unnecessary interference in the process. So, today I will walk you through combining all the pieces together and automating the process fully.
Finding Vulnerabilities in Core WordPress: A Bug Hunter’s Trilogy, Part I
In this series of blog posts, Check Point vulnerability researcher Netanel Rubin tells a story in three acts – describing his long path of discovered flaws and vulnerabilities in core WordPress, leading him from a read-only ‘Subscriber’ user, through creating, editing and deleting posts, and all the way to performing SQL injection and persistent XSS attacks on 20% of the popular web.
Think About It: PHP/PostgreSQL Bulk Performance (Part 3)
This article is the last of a three-part series and describes how we optimised the persistence process of bulk data in our code in combination with PostgreSQL. Make sure you covered the first article about how we tweaked PHPExcel to run faster while reading Excel and CSV files, and the second article about how we optimised our data processing and reached performance improvements tweaking our code.
Laravel - Homestead Setup
Setting up a local development environment is one of the best ways you – as a developer – can increase your efficiency and productivity. No more FTP client woes, no more waiting on uploads and no more restricted shared hosting access (“I have to wait how long to change my PHP version to 5.6? I want to use Laravel now!”). For this tutorial, I’m running Windows 10 (build 10240). However, most of the commands are the same across all operating systems. Still, a couple of stages may require some knowledge of your own OS, if it’s not Windows.
BDD in Laravel: Getting Started with Behat and PhpSpec
BDD (Behavior Driven Development) is a complicated subject for many developers, and getting started with it the right way often does not come easy – especially when needing to implement it into existing frameworks. This tutorial aims to help you get a BDD-powered Laravel project up and running in very little time, introducing you to the basic concepts and workflow you’ll need to proceed on your own.
How to Make Better Reuse of PHP Code using Traits Part 2: Advanced Traits Usage Explained
In the first part of this article we learned how to use PHP traits to organise better functionality to be reused by multiple unrelated classes. Read this article to learn more about advanced features of traits, like solving conflicts when using traits that define the same properties, changing the visibility of a trait method in the class that uses it, reusing traits within traits, and examples of packages that provide general purpose traits for use by many other packages.
Using and Extending the Drupal 8 Mail API: Part 1
In this two part series we explore the Drupal 8 Mail API to learn how we can send emails programmatically and how we can create our own email plugin. In this article we look at sending emails whenever users create a node on the site.
|News and Announcements
PHP UK Conference - 18-19th February 2016, 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 available now.
Bulgaria PHP Conference - 25-27th September 2015, Sofia
This event is the initiative of a small group of developers who started the first PHP User Group in Sofia, Bulgaria just two years ago. Our desire to learn and our love for the code gave us the courage to take the initiative and bring some of the best minds in the PHP community to our home town. We have invited some top-notch speakers from all over the world who will make sure you will enjoy some high-quality talks. But most of all, we hope to get together some great people who will spend their weekend sharing their know-how and getting to know the large PHP community. Last Minute tickets are available now.
App Sec USA - September 22-25th 2015, San Francisco
AppSec USA 2015 is a 96-hour conference in beautiful San Francisco that will include the best talks and training on application and information security. It is a world-class security conference for developers, auditors, risk managers, technologists and entrepreneurs - a gathering of the world’s top security practitioners to share their latest research and practices. Tickets are available now.
Pacific Northwest PHP - 10-12th September 2015, Seattle
This 3-day event will be packed with world-renowned speakers from the PHP community and companies like Amazon, AOL, Facebook, Google, Microsoft, Oracle, and Zend. With topics ranging from continuous delivery to the cloud, you'll be full to the brim with new knowledge to take home. Tickets are on sale now.
MageTalk Magento Podcast #56 - “Alan Storm is like an Afghan Blanket”
Mage News 9 reports live from NYC and delves into afghan blankets, "web2marketgeddon", and prognostication.
Voices of the ElePHPant - Interview with Josh Butts
This week Cal Evans talks to Josh Butts, of the Austin PHP User Group.
Laravel IO Podcast: Episode 33 - Post Laracon and Vices
In this episode, the team recaps Laracon, discusses a few of Matt's side projects, and details their juiciest vices.
Acquia Podcast: Easy scaling from brochure to massive hub with Drupal - Bart's Bash
David Bishop from NinetyOne Consulting and I sat down to chat at Drupal Camp Bristol 2015. Our conversation essentially covers three main topics, including the amazing charity Bart's Bash. Along the way, we talk about creating a new handicap system in international sailing and how Drupal got Bart's Bash into the Guinness Book of World Records. What a show!
PHP Round Table Podcast Episode 28 - The Alcoholic and Unfit PHP Culture
The PHP community has its fair-share of devs struggling with alcohol & weight loss and it doesn't help that there is a strong culture around alcohol consumption at nerd events. For some, the bottle is just a fun weekend with nerds. For others, it's a vice & deep struggle affecting them both mentally and physically. We'll be discussing the alcoholic culture in the PHP community as well as our struggle with weight loss.
The Specification Pattern in PHP: Part 2
In the previous lesson on the specification pattern, we reviewed the core fundamentals. However, we stopped just short of figuring out how to apply this concept to database queries. Let's figure that out, while, in the process, learning how to use (and test) Eloquent outside of Laravel.
php[architect] Magazine August 2015 Edition
Data Manipulation - how many CMSs can you fit inside a website? Introduction to development with Aerospike. How GZIP compression works. These and other articles feature in this months edition.
Ansible Playbook Essentials Paperback (by Gourav Shah, published 5th Aug 2015)
Get to grips with Ansible's features, such as orchestration, automatic node discovery and data encryption, and create data-driven, modular and reusable automation code with Ansible roles, facts, variables and templates.
Mastering Laravel Paperback (by Christopher Pecoraro, published 30th Jul 2015)
Develop robust modern web-based software applications and RESTful APIs with Laravel, one of the hottest PHP frameworks.
Learning Laravel's Eloquent Paperback (by Francesco Malatesta, published 27th Jul 2015)
This book is perfect for developers with some basic knowledge of PHP development, but are new to the Eloquent ORM. However, developers with previous Laravel and Eloquent experience will also benefit from the in-depth analysis of specific classes and methodologies in the book.
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 firstname.lastname@example.org
Interesting Projects, Tools and Libraries
TINY is an extremely simple naked demo PHP application that runs nearly config-free everywhere.
Kint - a powerful and modern PHP debugging tool.
A deployment tool written in PHP with support for popular frameworks out of the box.
Opauth is a multi-provider authentication framework for PHP, enabling PHP applications to do user authentication with ease.
Flight is a fast, simple, extensible framework for PHP, enabling you to quickly and easily build RESTful web applications.
Displays a debug bar in the browser with information from PHP. No more var_dump() in your code!
A small PHP 5.3 dependency injection container.
This library provides a fast implementation of a regular expression based router.
Smart and Readable Documentation for your PHP project.
A PHP string manipulation library with multibyte support, compatible with PHP 5.3+ and HHVM.
li₃ is the fast, flexible and most RAD development framework for PHP.
Toro is a PHP router for developing RESTful web applications and APIs.
PHPHub is a Forum project written in Laravel 4.2, and it is also the project build up PHP & Laravel China community.
PsySH is a runtime developer console, interactive debugger and REPL for PHP.
SimplePie is a very fast and easy-to-use class, written in PHP, that puts the 'simple' back into 'really simple syndication'. Flexible enough to suit beginners and veterans alike, SimplePie is focused on speed, ease of use, compatibility and standards compliance.
PHP's best friend for the terminal, CLImate allows you to easily output coloured text, special formats, and more.
|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.