Voices of the ElePHPant: Interview with Chris Spruck (#2)

The Voices of the ElePHPant podcast has posted its latest interview with a member of the PHP community. In this latest episode host Cal Evans talks with Chris Spruck, an organizer of the Atlanta PHP User Group.

They talk about his work with the Atlanta PHP User Group, how they’re growing and where Chris sees this growth coming from. He suggests that there’s been a growing need for developers in the job market and it could have an influence. They also talk about the effect that guest speakers, traffic/travel and can have and how the topic influences the turnout. They also talk about smaller and different types of events related to the community and how their group fits in with the local Drupal/Wordpress communities.

You can listen to this latest episode either through the in-page audio player or you can download the mp3 directly. Also be sure to subscribe to their feed or follow them on Twitter.


SitePoint PHP Blog: Demystifying RegEx with Practical Examples

On the SitePoint PHP blog they’ve posted a tutorial from author Nicola Pietroluongo that wants to help demystify regular expressions with a few more real-world examples. He doesn’t teach the foundations of regular expressions here and instead opts for a more "cookbook" approach with lots of little examples.

A regular expression is a sequence of characters used for parsing and manipulating strings. They are often used to perform searches, replace substrings and validate string data. This article provides tips, tricks, resources and steps for going through intricate regular expressions.

He starts with some basic tips around creating good regular expressions for your application: knowing the scenario you’re matching, planning the requirements and implementing the match itself. His example expressions include matching for:

  • simple passwords matching a policy
  • valid URL matching
  • HTML tag patterns
  • finding duplicated words

Each example comes with the regular expression itself and an explanation of how it’s doing the matching, breaking it down into each piece of the regex puzzle and how it relates to the match overall.


Voices of the ElePHPant: Interview with Jordi Boggiano

In the latest episode of Voices of the ElePHPant podcast host Cal Evans interviews another member of the PHP community: Jordi Boggiano, a speaker at this year’s Lone Star PHP and one of the primary developers on the Composer project.

They talk about why Jordi initially decided to work on the project. He talks about how it originated from the need for a plugin/bundle installer on projects they were working on. They talk about how it has changed the way PHP developers code on a pretty fundamental level. They also talk about the new features that were coming to Composer (when the episode was recorded).

You can listen to this latest episode either through the in-page audio player or by downloading the mp3 directly and listen at your leisure. If you enjoy the episode, be sure to subscribe to their feed or follow them on Twitter to get information on the latest episodes as they’re released.


Christian Scheb: Introducing Tombstones for PHP

Christian Scheb has posted about an interesting idea in this article on his site – creating "tombstones" in your application to help you determine what code in your application is "dead".

Earlier this year I took over that project at my new company. […] The repository was cluttered by many files, that could assumed to be dead code. Unfortunately, you never know. […] The mission was clear: Cleaning up the project, without breaking things.

[…] I searched the web and came across that interesting concept of tombstones. If you haven’t heard of tombstones yet, I highly recommend this article and watching the video of David Schnepper’s ignite talk. A tombstone is basically an executable marker in your code (in the PHP world: a function call), which is placed in fragments of code, that you’ve assumed to be dead. Then, everything is deployed to production and, when a tombstone is invoked, it writes some data to a log. After a while, the logs will enable you to identify dead and undead code (called “Vampires”) in your project.

Not finding a good tool to help with this in an existing codebase, he created a library that makes it simpler to both mark the "tombstones" in your code and another to analyze the results. He includes an example of what the report might look like, showing both the used and unused bits of code where the tombstone code was placed.


JetBrains Blog: PHP Annotated Monthly – September 2015

On the JetBrains blog Gary Hockin has just posted the latest "PHP Annotated Monthly" edition for September 2015. These posts cover recent happenings in the PHP community, linking to more information and the people involved.

As the autumn conference season begins to ramp up, it’s time for the September edition of PHP Annotated Monthly – bringing you all the news, tips, tricks and tutorials from the PHP community.

He touches on three main topics – the PHP language itself, news about various frameworks and tools talked about over the month and happenings in the community itself. Some of the topics mentioned include:

…and lots more. Check out the full post for more topics and links to plenty of others. You can also check out some of the back issues on the Annotated Monthly archive page.


SitePoint PHP Blog: Fast Multi-language Docs with SitePoint’s RTDSphinx-PHP

The SitePoint PHP blog has a tutorial posted showing you how to create multi-language documentation with ReadTheDocs and Sphinx with the help of the RTDSphinx-PHP library.

This post will guide you through getting up and running with RTDSphinx-PHP, a ReadTheDocs-friendly Sphinx based PHP documentation skeleton with sane defaults, pre-installed directives, and modified styles for optimal API and prose documentation rendering in multiple languages. For an unfinished example of the documentation, see here and switch the language in the bottom left flyout panel.

If this sounds familiar, it’s because we already went through a manual setup of a similar skeleton in a previous post, but that one had no localization support, too many steps, and wasn’t as reusable as this newly developed one.

He starts with the "quickstart" instructions to help you get the necessary tools installed to create the documentation. From there he gets into some of the main features the library provides including localization, a few utility scripts and syntax highlighting. Each of these comes with a bit of code/markup showing how to put them to use. The post ends with the instructions you’ll need to push the documentation you’ve created up to ReadTheDocs and what the results should look like.


PHP.net: PHP 5.6.13 & 5.5.29 Released

The main PHP.net site has announced the availability of the latest versions in the PHP 5.5.x and 5.6.x series – PHP 5.5.29 and PHP 5.6.13

The PHP development team announces the immediate availability of [these new versions]. This is a security release. Many security-related issues were fixed in this release. All PHP 5.5 [and 5.6] users are encouraged to upgrade to this version.

Problems fixed included issues around "user after free" memory bugs, PCRE (regular expression) handling and other smaller issues in other extensions. As mentioned, upgrading is highly recommended to these latest versions, especially given the security fixes involved. You can get these latest releases from the main downloads page (or windows.php.net for the Windows users out there). If you’re interested in all of the changes in these releases, check out the full Changelog


Community News: Recent posts from PHP Quickfix (09.02.2015)

Recent posts from the PHP Quickfix site:

  • random_bytes() in PHP 5.6 and 5.5 | Rob Allen’s DevNotes
    #phpquickfix, #random, #bytes, #randomint, #randombytes, #polyfill
  • Experimental Mac OS X Support « HHVM
    #phpquickfix, #hhvm, #experimental, #osx, #support, #hiphop
  • Calculating Periodical Events in PHP Part 1: The Problem Challenges – PHP Sweepstakes package blog – PHP Classes
    #phpquickfix, #phpclasses, #perioding, #event, #series, #part1, #problem, #challenge
  • What to Learn First In PHP | Nomad PHP
    #phpquickfix, #nomadphp, #learn, #first, #tessamero, #screencast, #presentation
  • PHP: rfc:callable-types
    #phpquickfix, #rfc, #callable, #type, #argument, #list
  • Postcards From My Life > Blog Archive Culture of Respect Printed Edition Now Available
    #phpquickfix, #cultureofrespect, #print, #edition
  • WeCamp Day 1 – Left On The Web
    #phpquickfix, #wecamp15, #conference, #day1, #summary
  • Laracon EU 2015 Recap – Laravel News
    #laravelquickfix, #phpquickfix, #laraconeu15, #recap, #freekvanderherten
  • WeCamp Day 2 – Left On The Web
    #phpquickfix, #wecamp15, #conference, #day2, #summary
  • PHP: rfc:range_checks_for_64_bit
    #phpquickfix, #rfc, #range, #check, #external, #internal, #api, #64bit
  • PHP: rfc:core-function-exceptions
    #phpquickfix, #rfc, #core, #function, #throw, #exception, #php7
  • Reviews – Title: Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5
    #phpquickfix, #phpclasses, #bookreview, #oreilly, #learning, #mysql, #javascript, #jquery, #css, #html5
  • Owl Framework – Extreme High Performance PHP Framework for Awesome Apps
    #phpquickfix, #owl, #framework, #zephir
  • Frank de Jonge: Frontin like-a-backer – Laravel News
    #laravelquickfix, #phpquickfix, #frankdejonge, #frontinlikeabacker, #slides, #laraconeu15